fork download
  1.  
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5. #include <math.h>
  6. #define MAX 20000001
  7. char prime[MAX];
  8.  
  9. void primeGenerator( long long int m )
  10. {
  11.  
  12. long long int i,j,x;
  13.  
  14. x = sqrt(m);
  15.  
  16. prime[0] = prime[1] = 0;
  17.  
  18. for( i = 4; i <= m; i += 2 )
  19. prime[i] = 0;
  20.  
  21. for( i = 3; i <= x; i += 2 )
  22. {
  23.  
  24. if(prime[i])
  25. for( j = i * i; j <= m; j += i )
  26. prime[j] = 0;
  27. }
  28.  
  29. return ;
  30.  
  31. }
  32.  
  33. int FindPrime( long long int n, long long int m )
  34. {
  35.  
  36. long long int i,res = 0;
  37.  
  38. for( i = 2; i <= m/2; i++ )
  39. {
  40.  
  41. if( prime[i] && prime[i+2] )
  42. {
  43. res++;
  44.  
  45. if( res == n )
  46. break;
  47. }
  48. }
  49.  
  50. return i;
  51.  
  52. }
  53.  
  54. int main()
  55. {
  56.  
  57.  
  58. long long int i,n,m = 20000000,ans;
  59.  
  60. for( i = 0; i <= m; i++ )
  61. prime[i] = 1;
  62.  
  63. primeGenerator(m);
  64.  
  65. while( scanf("%lld",&n) != EOF )
  66.  
  67. {
  68.  
  69. ans = FindPrime(n,m);
  70.  
  71. if(ans)
  72. printf("(%lld, %lld)\n",ans,ans+2);
  73.  
  74. else
  75. printf("Goldbach's conjecture is wrong.\n");
  76.  
  77. }
  78.  
  79. return 0;
  80. }
  81.  
Success #stdin #stdout 0.48s 21688KB
stdin
Standard input is empty
stdout
Standard output is empty