Liczby pierwsze - inne ujęcie
Ostatnio zmodyfikowano 2009-04-18 17:23
snake_yaro Temat założony przez niniejszego użytkownika |
Liczby pierwsze - inne ujęcie » 2009-04-18 14:07:47 Witam. Jak sformułować algorytm, który po podaniu nr liczby pierwszej, będzie ją wyświetlał? Np. Podajemy nr 9 i program widzi to jako liczbę pierwszą 23 - co wyświetla na ekranie. Tablica liczb pierwszych i rozkładów na czynniki pierwszePróbuję przerobić ten algorytm, ale niezbyt mi to wychodzi. Proszę o pomoc. int IS_prime( double num ) { int isprime = 0; for( int i = 2; i <= sqrt( num ); i += 2 ) { if( i % 2 == 0 ) i++; if(( int( num ) % i ) == 0 ) { isprime = 1; break; } } return isprime; } |
|
malan |
» 2009-04-18 16:11:22 Ja bym napisał sam algorytm - wydaje mi się, że to lepsze rozwiązanie niż przerabianie czyiś algorytmów. Po 1 dowiedział bym się co to są liczby pierwsze ( Liczba pierwsza) Liczba pierwsza to liczba naturalna, która ma dokładnie dwa dzielniki naturalne: jedynkę i samą siebie. To już wystarczy do napisania programu. 2. Po przeczytaniu artykułu wiem już, że liczba pierwsza to liczba, która ma tylko 2 dzielniki itd. Więc napisałbym funkcje, która zwracałaby ilość dzielników danej liczby. Jeśli liczba dzielników jest równa 2 zapisałbym ja do tablicy znaków. Potem brałbym nast. liczbę i tak do np. 3000. |
|
GoldWolf |
» 2009-04-18 16:19:26 Kolejna sprawa iż będą to liczby nieparzyste(nie wszystkie oczywiście) i tylko z takich będziesz wybierać czyli: 3, 7, 9, 11, 13, co to oznacza, iż gdy taką liczbę podzielimy przez 2 będzie reszta z dzielenia. Ale i tak bez funkcji liczącej ilość dzielników się nie obejdzie, jednak spokojnie można wyeliminować liczby parzyste. |
|
malan |
» 2009-04-18 16:28:55 Chyba 2 nie może eliminować- przecież liczba 2 jest liczbą pierwszą... |
|
GoldWolf |
» 2009-04-18 16:32:18 Myślałem, że się zorientujecie tylko 2 i tle ludzie. Badamy tylko liczby nieparzyste. |
|
malan |
» 2009-04-18 18:18:57 Teraz mi zaśmierdziało ;p... |
|
steckel |
» 2009-04-19 10:59:31 |
|
GoldWolf |
» 2009-05-01 11:03:03 Wydać temat rozwiązany, można zamknąć. |
|
« 1 » 2 |