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

Praca domowa, nie umiem sobie z nią poradzić

Ostatnio zmodyfikowano 2010-05-19 12:07
Autor Wiadomość
wiktor1240
Temat założony przez niniejszego użytkownika
Praca domowa, nie umiem sobie z nią poradzić
» 2010-05-17 15:25:39
Mam pracę domową z c++ ale nie umiem jej zrobic. Jestem zielony w tym temacie
Zadanie
Istnieje prosty sposób poprawiający szybkość sprawdzania, czy dana liczba naturalna n  jest pierwsza. A mianowicie, w celu sprawdzenia, czy dana liczba naturalna n jest pierwsza wystarczy dzielić ją przez kolejne liczby naturalne ze zbioru {2,3,…,[sqrt(n)]}, gdzie [sqrt(n)] – to część całkowita z liczby sqrt(n). Napisz program realizujący ten algorytm.

#pixelmaster: zmieniłem tytuł
P-16911
pekfos
» 2010-05-17 15:38:48
skoro nie umiejesz tego to masz se to:
C/C++
bool is( int n ) {
    int max = sqrt( n );
    for( int a = 2; a < max; a++ ) {
        if( n % a == 0 ) return false;
       
    }
    return true;
}
P-16912
madmike44
» 2010-05-17 19:43:49
wiktor1240

Twoje zadanie dotyczy algorytmu o nazwie "sito Eratostenesa" - to dość wydajny algorytm znajdowania liczb pierwszych. Tutaj masz więcej informacji i gotowe implementacje w kilku językach (m.in. w C++):

http://algorytm.org/index.php?option=com_content&task=view &id=16&Itemid=28
P-16920
ison
» 2010-05-18 23:41:59
@madmike44 że co? Przeciez on ma w zadaniu sprawdzac tylko czy dana liczba dzieli sie przez od 1 do pierwiastek z N. Nie wyskakuj mu od razu z sitem erastotenesa jak może to zrobic tak jak ma podane w zadaniu...
P-16961
DejaVu
» 2010-05-19 12:07:19
Po aktywności użytkownika widać, że to by było na tyle. Zamykam.
P-16977
« 1 »
  Strona 1 z 1