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)
Implementacja sita eratostenesa
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
0
- Rejestracja: dni
- Ostatnio: dni
- Postów: 25
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;
}
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2
0
dzięki za pomoc ! udało się :D