• 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,158 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ź 998 wizyt
+6 głosów
6 odpowiedzi 53,595 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,412 wizyt

92,573 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 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!

...