Liczby pierwsze - kod źródłowy C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #include <iostream.h> #include <conio.h> #include <math.h> main() { clock_t czas_start, czas_koniec, czas_caly ; int zakres,i,j,x; //deklareacja zmiennych o nazwach zakres, i , j, x cout<< "Podaj zakres: " ; //Wypisuje na ekranie podaj zakres: cin>>zakres; //pobieram wpisane ciag do zmiennej zakres int tablica_pierwszych[zakres+1]; //deklaruje zmienną o nazwie tablica_pierwszych o wielkości zakres plus 1 czas_start = clock (); //pobranie aktualnego czasu //-------------poczatek liczenia---------------- for (i=2; i <= zakres; i++) //wykonuję pętlę for od i=2 do i = zakres i po każdym wykonaniu pętli i zwiększa się o 1 { tablica_pierwszych[i]=1; //wprowadzamy do tablicy tablica_pierwszych[] dla kazdej liczby z podanego zakresu wartosc 1 } for (i=2; i < sqrt (zakres); i++) //petla od 2 do pierwiastek z podanego zakresu { if (tablica_pierwszych[i]==1) //jesli tablica tablica_pierwszych o indeksie i równa jest jeden to wykonaj poniższe instrukcje { for (j=2*i; j<=zakres; j+=i) //*w petli od (2 * i) do podanego zakresu tablice tablica_pierwszych[j] oznaczamy wartoscia 0 czyli ze nie jest liczba pierwsza i zmienna j zwiększana jest o j+i { tablica_pierwszych[j]=0; //oznaczamy że dana liczba nie jest liczbą pierwszą co wiemy z założenia a nie sprawdzamy } } } for (i=2; i<=zakres; i++) //pętla od i = 2 do i = zakres i po każdym wykonaniu zwiększamy i o wartość 1 { if (tablica_pierwszych[i]==1) //jesli tablica tablica_pierwszych o indeksie i równa jest jeden { cout<<i<< "\n" ; //to pokazuj wynik na ekranie enterowany } } //-------------koniec liczenia --------------- delete tablica_pierwszych; //usuwam zmienną tablica_pierwszych czas_koniec = clock (); //pobranie aktualnego czasu czas_caly = czas_koniec - czas_start; cout << "Czas obliczen = " << czas_caly / 1000 << " s, dokladniej = " << czas_caly << " mili \n\n" ; system ( "pause" ); return 0; //zwraca informacje dla systemu że program zakończył swoje działanie poprawnie (nie zawiesił się) } |
Dział: