• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak napisać program który oceni czy dana liczba jest liczbą pierwszą czy nie

Object Storage Arubacloud
0 głosów
1,154 wizyt
pytanie zadane 19 stycznia 2017 w C i C++ przez DominikWłodarczyk Początkujący (320 p.)
Doszedłem już do tego że wiem że wszystkie liczby które są liczbami pierwszymi nie są podzielne przez 2 ani przez 3 ani przez 5 ani przez 7 (oczywiście bez samych 2,3,5,7) tylko nie wiem co mam zrobić aby program rozpoznał że ta liczba jest po przecinku .Nie wiem dodać typ danych int albo jakiś inny nie mam pojęcia .

2 odpowiedzi

+1 głos
odpowiedź 19 stycznia 2017 przez 10kw10 Pasjonat (22,880 p.)
wybrane 19 stycznia 2017 przez DominikWłodarczyk
 
Najlepsza
Liczba pierwsza ma dokładnie 2 dzielniki, 1 i sama siebie

W petli możesz sprawdzać czy jest podzielna. Iterator to byl by dzielnik i sprawdzasz modulo przez liczbę. Jesli jest, inkrementujesz liczbe dzielnikow.
komentarz 19 stycznia 2017 przez DominikWłodarczyk Początkujący (320 p.)
To to wiem ale wszystkie liczby które nie są liczbami pierwszymi są podzielne przez 2,3,5 albo przez 7 przynajmiej z takiego wyszedłem założenia i to byłby warunek .

Jeżeli x jest podzielne przez 2||3||5||7 to napisz ta nie jest liczbą pierwszą .

Bo żadna liczba pierwsza nie jest podzielna przez te liczby co sprawdziłem na kilku z większych liczbach pierwszych .

I teraz pytanie jak program ma rozpoznać że wynik dzielenia jest po przecinku.
komentarz 19 stycznia 2017 przez 10kw10 Pasjonat (22,880 p.)
Nie potrzebny ci jest wynik z dzielenia, tylko jego reszta, wtedy sprawdzisz czy jest podzielny.
komentarz 19 stycznia 2017 przez DominikWłodarczyk Początkujący (320 p.)
Ok to teraz poszperam w internecie jak sprawdzić resztę z dzielenia w code blocku
1
komentarz 19 stycznia 2017 przez 10kw10 Pasjonat (22,880 p.)
%

Np. 3%2 jest 1

Jeśli chcesz zrobic te warunki to możesz tak if(liczba%2==0 || ...
komentarz 19 stycznia 2017 przez DominikWłodarczyk Początkujący (320 p.)
Dziękuje za pomoc :D biorę się do roboty .
0 głosów
odpowiedź 26 marca 2018 przez Monika_Aga Nowicjusz (140 p.)
#include <iostream>

using namespace std;

int test,liczba;

int main()
{
    cin >> test;

    for(int i=0; i<test; i++)
    {
        cin >> liczba;

        int x=2;

        while(x<=liczba)
        {
            if(liczba%x==0)
            {
                if((liczba==x)&&(liczba!=1))

                        {
                            cout << "Tak"<<endl;
                        }

                if(liczba!=1)

                            {
                                cout<<"Tak"<<endl;
                            }

                else

                    {
                        cout << "Nie"<<endl;
                        break;

                    }
            }
                x++;

            }
    }
    return 0;
}

Co jest w tym kodzie nie tak? Niby działa, ale nie sprawdza się dla 1 i daje po kilka odpowiedzi.
komentarz 27 marca 2018 przez Hiskiel Pasjonat (22,830 p.)

Dawaj ify i else ify. 

Jeśli mam liczbe 3 i sprawdzam tak:

int x = 3;

if(x==3) cout<<"a";
if(x<10) cout<<"b";

zostanie wypisane "ab"

gdyby drugi if był else ifem, to zostałoby wypisane 'a'.

 

I kilka uwag. Ten else jest tylko do drugiego ifa.

Nie dawaj odpowiedzi z pytaniami do już istniejących wątków, tylko twórz nowe, chyba że podobny temat był już zaczęty.

Kod za pomocą funkcji dodawania kodu. Ikona wyvlada mniej więcej tak: 

 {....}
code

 

 

Pozdrawiam, Hiskiel.

Podobne pytania

0 głosów
1 odpowiedź 994 wizyt
+6 głosów
6 odpowiedzi 53,568 wizyt
pytanie zadane 12 kwietnia 2015 w C i C++ przez Kornel Howil Początkujący (260 p.)
0 głosów
1 odpowiedź 6,406 wizyt

92,565 zapytań

141,418 odpowiedzi

319,602 komentarzy

61,951 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...