fork download
  1. function getPrimes(n){
  2. var sieve=[],i,j,primes=[];
  3. for(i=2;i<=n;++i){
  4. if(!sieve[i]){
  5. primes.push(i);
  6. for(j=i<<1;j<=n;j+=i)
  7. sieve[j]=true;
  8. }
  9. }
  10. return primes;
  11. }
  12. function goldbach(initial){
  13. var list=getPrimes(initial);
  14. while(list.length>0){
  15. var item=list.shift();
  16. if(item*2===initial)
  17. return item+' + '+item;
  18. var index=list.indexOf(initial-item);
  19. if(index!==-1){
  20. var itemPair=list.splice(index,1)[0];
  21. return item+' + '+itemPair;
  22. }
  23. }
  24. }
  25. function main(n){
  26. var initial=2*n+2;
  27. var result=goldbach(initial);
  28. if(result && initial<100){
  29. print(initial+' = '+result);
  30. main(n+1);
  31. }
  32. }
  33. main(1);
  34.  
Success #stdin #stdout 0s 171584KB
stdin
Standard input is empty
stdout
4 = 2 + 2
6 = 3 + 3
8 = 3 + 5
10 = 3 + 7
12 = 5 + 7
14 = 3 + 11
16 = 3 + 13
18 = 5 + 13
20 = 3 + 17
22 = 3 + 19
24 = 5 + 19
26 = 3 + 23
28 = 5 + 23
30 = 7 + 23
32 = 3 + 29
34 = 3 + 31
36 = 5 + 31
38 = 7 + 31
40 = 3 + 37
42 = 5 + 37
44 = 3 + 41
46 = 3 + 43
48 = 5 + 43
50 = 3 + 47
52 = 5 + 47
54 = 7 + 47
56 = 3 + 53
58 = 5 + 53
60 = 7 + 53
62 = 3 + 59
64 = 3 + 61
66 = 5 + 61
68 = 7 + 61
70 = 3 + 67
72 = 5 + 67
74 = 3 + 71
76 = 3 + 73
78 = 5 + 73
80 = 7 + 73
82 = 3 + 79
84 = 5 + 79
86 = 3 + 83
88 = 5 + 83
90 = 7 + 83
92 = 3 + 89
94 = 5 + 89
96 = 7 + 89
98 = 19 + 79