PeterJack Napisano Październik 26, 2005 Zgłoszenie Share Napisano Październik 26, 2005 Mam taki prosty kodzik w c++ mający wypisywać liczby pierwsze: #include <iostream> using namespace std; int main() { cout << "Liczby pierwsze: " << endl; int i, k; int row; int ile; for(i = 0; i < 10; i++) { for(k = 0; k <= i; k++) { row = i % k; if(row == 0) { ile++; } } if(ile == 2) { cout << i << endl; } ile = 0; } } I wywala: [peter@localhost 2]$ ./liczbypierwsze Liczby pierwsze: Błąd w obliczeniach zmiennoprzecinkowych [peter@localhost 2]$ Co tu nakaszaniłem że wywala taki błąd Bardzo bym prosił o pomoc ... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MitS Napisano Październik 26, 2005 Zgłoszenie Share Napisano Październik 26, 2005 Ja to bym troche inaczej zrobił #include <iostream> #include <math.h> using namespace std; bool pierwsza(int k) { int dzielnik; dzielnik=2; while ( ((k % dzielnik) != 0) && ((dzielnik <= sqrt(k))) ) dzielnik++; if (dzielnik>sqrt(k)) return true; return false; } int main(int argc, char* argv[]) { bool hm; cout<<"Przedzial <1;200> \n"; for(int w=1;w<200;w++) { hm=false; hm=pierwsza(w); if(hm) cout << w << " "; } cout << endl; return 0; } Pozdrawiam Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
PeterJack Napisano Październik 26, 2005 Autor Zgłoszenie Share Napisano Październik 26, 2005 spoko dzięki Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się