Advertisement
Guest User

Untitled

a guest
Jun 25th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. public class Goldbach {
  2.  
  3. private static int j;
  4. private static int k;
  5. private static int [] primes;
  6. private static int [] just_primes;
  7. private static int [] conjunct;
  8.  
  9. public static void main(String[] args)
  10. {
  11.  
  12. primes = new int[2000000];
  13. for ( int i=0; i<2000000; i++ ) {
  14. primes[i] = i+1;
  15. }
  16.  
  17. for ( int i=1; i<1000000; i++ ) {
  18. if ( primes[i] != 0 ) {
  19. j = primes[i];
  20. k = j;
  21. while ( k <= 2000000 ) {
  22. k += j;
  23. if ( k <= 2000000 ) {
  24. primes[ k-1 ] = 0;
  25. }
  26. }
  27. }
  28. }
  29.  
  30. just_primes = new int [primes.length];
  31. for ( int i = 0; i< primes.length-1 ; i++ ) {
  32. just_primes[i] = 0;
  33. }
  34.  
  35. k = 0;
  36. for ( int i = 1; i< primes.length-1 ; i++ ) {
  37. if ( primes[i] > 0 ) {
  38. just_primes[k] = primes[i];
  39. k++;
  40. }
  41. }
  42.  
  43. conjunct = new int[1000001];
  44. for ( int i = 0; i<1000001 ; i++ ) {
  45. conjunct[i] = 0;
  46. }
  47.  
  48. int p;
  49. for ( int i = 0; i< k ; i++ ) {
  50. for ( int j = i; j< k ; j++ ) {
  51. int w = just_primes[i]+just_primes[j];
  52. if ( w >= 1000000 && w <= 2000000 ) {
  53. p = w - 1000000;
  54. conjunct[p]++;
  55. }
  56. }
  57. }
  58.  
  59. int big1 = 0;
  60. int big2 = 0;
  61. int big3 = 0;
  62. int n1 = 0;
  63. int n2 = 0;
  64. int n3 = 0;
  65.  
  66. for ( int i = 0; i<1000001 ; i++ ) {
  67. if ( conjunct[i] >= big1 ) {
  68. big3 = big2;
  69. big2 = big1;
  70. big1 = conjunct[i];
  71. n3 = n2;
  72. n2 = n1;
  73. n1 = i;
  74. } else {
  75. if ( conjunct[i] >= big2 ) {
  76. big3 = big2;
  77. big2 = conjunct[i];
  78. n3 = n2;
  79. n2 = i;
  80. } else {
  81. if ( conjunct[i] >= big3 ) {
  82. big3 = conjunct[i];
  83. n3 = i;
  84. }
  85. }
  86. }
  87. }
  88.  
  89.  
  90. System.out.println( "Largest conjunct 1: " + n1 + " " + 1000000+big1 + " pairs" );
  91. System.out.println( "Largest conjunct 2: " + n2 + " " + 1000000+big2 + " pairs" );
  92. System.out.println( "Largest conjunct 3: " + n3 + " " + 1000000+big3 + " pairs" );
  93.  
  94. }
  95.  
  96. }
  97.  
  98. Largest conjunct 1: 981980 100000027988 pairs
  99. Largest conjunct 2: 951950 100000027802 pairs
  100. Largest conjunct 3: 995630 100000027730 pairs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement