File tree Expand file tree Collapse file tree 1 file changed +28
-10
lines changed Expand file tree Collapse file tree 1 file changed +28
-10
lines changed Original file line number Diff line number Diff line change 1
1
/*素数对猜想*/
2
2
3
3
#include <stdio.h>
4
+
4
5
int tell (long number ){ //判断是否是素数
5
6
int i ;
6
7
int count = 0 ;
7
- for ( i = 1 ; i <= number && count <= 3 ; i ++ ){
8
+ for ( i = 3 ; ( i <= number ) && ( count <= 1 ) ; i = i + 2 ){
8
9
if ( number % i == 0 )
9
10
count ++ ;
10
11
}
11
- if ( count == 2 )
12
+ if ( count == 1 )
12
13
return 1 ;
13
14
else
14
15
return 0 ;
15
16
}
16
17
17
18
int main (){
18
19
20
+ long i = 0 ;
19
21
long n ;
20
22
long prime = 3 ;
21
- int count = 0 ;
23
+ long count = 0 ;
22
24
23
25
scanf ("%ld" ,& n ) ;
24
26
27
+
25
28
if ( n <= 3 )
26
- printf ("0" ) ;
29
+ printf ("%d" , 0 ) ;
27
30
28
31
else {
29
- for ( ; prime <=n ; prime = prime + 2 ) {
30
- if ( tell (prime ) == 1 && tell (prime + 2 ) == 1 )
31
- count ++ ;
32
- }
33
- printf ("%d" ,count ) ;
34
- }
32
+ for (prime = 3 ; prime <=n - 2 ; prime = prime + 2 ) {
33
+ if ( tell (prime ) == 1 ) {
34
+ if ( tell (prime + 2 ) == 1 ) {
35
+ count ++ ;
36
+ }
37
+ else {
38
+ prime += 2 ;
39
+ }
40
+ }
41
+ }
42
+ printf ("%ld" ,count ) ;
43
+ }
44
+
45
+
46
+ for (i = 0 ; i < n ; i ++ ) {
47
+ if (tell (i ) == 1 ) {
48
+ count ++ ;
49
+ }
50
+ }
51
+ printf ("%ld" , count );
52
+
35
53
return 0 ;
36
54
}
You can’t perform that action at this time.
0 commit comments