Cześć,
mam takie zdanie do zrobienia i kompletnie nie wiem jak do tego podejść.
jeśli ktoś może pomóc niech napisze wiadomość
Napisać program znajdujący wszystkie liczby pierwsze w zakresie podanym przez użytkownika (np. w zakresie od 21 do 30 są dwie liczby pierwsze: 23 i 29)
0
3
Liczba pierwsza to taka, która jest podzielna tylko przez siebie, więc najpierw zrób jakąś metodę bool IsPrime(int val)
, która będzie zwracać true/false w zależności czy liczba jest pierwszą. Potem wczytaj 2 liczby od użytkownika przy użyciu cin
, przeleć pętlą po zakresie tych liczb, np. będziesz miał a i b to for (int i = a; i <= b; i++) { }
. Tutaj możesz użyć nie wiem jakiejś listy? Albo sobie w stringu sklejaj xD string result = ""
i w pętli if (IsPrime(i)) { result += ", " + i; }
A metoda do liczby pierwszej to nie wiem coś takiego chyba zadziała:
bool IsPrime(int a)
{
if (a == 1)
return true;
for (int i = 2; i < a; i++)
{
if (a % i == 0)
return false;
}
return true;
}
0
dzięki za pomoc ! udało się :D
3
Czemu dałeś tytuł "Implementacja Sita Erastotenesa" skoro odpowiedź, która CI pomogła, nie ma z nim nic wspólnego?