Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Liczby pierwsze - inne ujęcie

Ostatnio zmodyfikowano 2009-04-18 17:23
Autor Wiadomość
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 pierwsze

Próbuję przerobić ten algorytm, ale niezbyt mi to wychodzi. Proszę o pomoc.

C/C++
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;
}
P-5815
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.
P-5819
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.
P-5820
malan
» 2009-04-18 16:28:55
Chyba 2 nie może eliminować- przecież liczba 2 jest liczbą pierwszą...
P-5822
GoldWolf
» 2009-04-18 16:32:18
Myślałem, że się zorientujecie tylko 2 i tle ludzie.
Badamy tylko liczby nieparzyste.
P-5823
malan
» 2009-04-18 18:18:57
Teraz mi zaśmierdziało ;p...
P-5826
steckel
» 2009-04-19 10:59:31
Tu jest opisany algorytm oraz kod źródłowy w c++:
Sito Erastotenesa
P-5838
GoldWolf
» 2009-05-01 11:03:03
Wydać temat rozwiązany, można zamknąć.
P-6250
« 1 » 2
  Strona 1 z 2 Następna strona