Не сте регистриран!
Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!
Алгоритъм за намиране на прости числа
Автор
rxcp92 (27.06.2008 09:15)
съобщение до автора
Погледнат
1673 пъти
добави към любими
Оценка
добави коментар
Гласове
2
изпрати на приятел
Коментари
(4)
абонирай се за C-Cplusplus
Един от най-бързите алгоритми за намиране на простите числа (тези ,които се делят само на себе си и 1). Намира простите числа до 10 000 000 за 55 секунди.
CODE 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include < iostream >
#include < cstdio >
#include < cmath >
#include < cstdlib >
#include < ctime >
bool prosti ( int n ){
bool flag = 1 ;
int i = 3 ;
double p = sqrt ( n ) ;
while (( i < p ) && flag ){
flag = ( n % i ) != 0 ;
i += 2 ; }
return flag ; }
void main (){
int clock_t , t1 , t2 ;
int m ;
cin >> m ;
t1 = clock () ;
cout << 2 << " " ;
for ( int i = 3 ; i <= m ; i += 2 )
if ( prosti ( i )) printf ( " %d " , i ) ;
t2 = clock () ;
cout << endl << double ( t2 - t1 ) / CLK_TCK << endl ;
system ( " PAUSE " ) ; }
1 посетител чете този скрипт (0 потребители и 1 гост)
Активни потребители:
---