generate.pl 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/perl
  2. use 5.014;
  3. use ntheory qw(:all);
  4. my $n = 12;
  5. # a(11) > 10^9
  6. # a(11) = 2690757467
  7. # a(12) = 36906080234
  8. my $from = 24300000000+1e8+1e9+1e9 + 1e9+1e9+1e9+1e9+1e9+1e9+1e9+1e9+1e9+1e9;
  9. # a(13) <= 848839845911, a(14) <= 1697679691826, a(15) <= 28860554761331, a(16) <= 57721109522666, a(17) <= 634932204749447. - ~~~~
  10. say "From: $from";
  11. forsemiprimes {
  12. if (not is_square($_)) {
  13. my ($x, $y) = factor($_);
  14. my $d = $y - $x;
  15. my $count = 0;
  16. for (; $count < $n and is_semiprime($d) and not is_square($d) ; ++$count) {
  17. ($x, $y) = factor($d);
  18. $d = $y - $x;
  19. }
  20. if ($count >= $n) {
  21. say "a($n) = $_ (ended at $d)";
  22. exit;
  23. ++$n;
  24. }
  25. }
  26. } $from, $from+1e9;
  27. # 21408927,158279834;
  28. # Check 20690757467-1e8, 24300000000-1e8-1e8
  29. __END__
  30. a(0) = 6 (ended at 1)
  31. a(1) = 34 (ended at 2)
  32. a(2) = 82 (ended at 3)
  33. a(3) = 226 (ended at 2)
  34. a(4) = 687 (ended at 2)
  35. a(5) = 4786 (ended at 2)
  36. a(6) = 14367 (ended at 2)
  37. a(7) = 28738 (ended at 2)
  38. a(8) = 373763 (ended at 2)
  39. a(9) = 21408927 (ended at 11)
  40. a(10) = 158279834 (ended at 5)
  41. a(11) = 2690757467 (ended at 5)