1 #include <cstdio> 2 #include <cmath> 3 usando el espacio de nombres std; 4 5 const int MAXN = 100000000 ; 6 int a [MAXN]; 7 bool isprime ( int x); 8 int main () { 9 int n, cuenta = 0 ; 10 para ( int i = 2 ; i <MAXN; i ++ ) { 11 if (isprime (i) == true ) { 12 a [i] = 1; 13 recuento ++ ; 14 if (cuenta == 10000 ) printf ( " i:% d \ n " , i); 15 } 16 } 17 18 19 20 scanf ( " % d " , & n); 21 devuelven 0 ; 22 } 23 24 bool isprime ( int x) { 25 if (x == 1 ) devuelve falso ; 26 si (x == 2) devuelve verdadero ; 27 para ( int i = 2 ; i <= sqrt (( double ) x) + 1 ; i ++ ) { 28 if (x% i == 0 ) devuelve false ; 29 30 } 31 devuelve verdadero ; 32 }
Entonces en 104729 hay 10,000 números primos.
1 #include <cstdio> 2 #include <cmath> 3 usando el espacio de nombres std; 4 const int MAXN = 10001 ; 5 int p [MAXN], m, n; 6 bool isprime ( int x); 7 void init (); 8 acuerdo nulo (); 9 int main () { 10 init (); 11 scanf ( " % d% d " , & m, & n); 12 acuerdo (); 13 devuelve 0 ; 14 } 15 bool isprime ( int x) { 16 if (x == 1 ) devuelve falso ; 17 más si (x == 2 ) devuelve verdadero ; 18 19 para ( int i = 2 ; i <= sqrt (( double ) x) + 1 ; i ++ ) { 20 if (x% i == 0 ) devuelve falso ; 21 } 22 devuelve verdadero ; 23 } 24 void init () { 25 int cuenta = 1 ; 26 para ( int i = 2 ; i < 10000000 ; i ++ ) { 27 if (isprime (i)) { 28 p [count ++] = i; 29 if (cuenta == 10001 ) descanso ; 30 } 31 } 32 } 33 acuerdo nulo () { 34 para ( int i = m; i <= n; i ++ ) { 35 printf ( "% d " , p [i]); 36 if (i! = n && (i-m + 1 )% 10 ! = 0 ) printf ( " " ); 37 else printf ( " \ n " ); 38 } 39 }