inverse_phi.pl 883 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/usr/bin/perl
  2. # Least k such that phi(k) is an n-th power when k is the product of n distinct primes.
  3. # https://oeis.org/A281069
  4. use utf8;
  5. use 5.020;
  6. use strict;
  7. use warnings;
  8. use Math::GMPz;
  9. use ntheory qw(:all);
  10. use experimental qw(signatures);
  11. sub a ($n) {
  12. my @list;
  13. foreach my $k (2 .. 1e9) {
  14. is_smooth($k, 3) || next;
  15. foreach my $v (inverse_totient(powint($k, $n))) {
  16. if (is_almost_prime($n, $v) and is_square_free($v)) {
  17. push @list, $v;
  18. }
  19. }
  20. last if @list;
  21. }
  22. vecmin(@list);
  23. }
  24. foreach my $n (1 .. 20) {
  25. say "a($n) <= ", a($n);
  26. }
  27. __END__
  28. a(1) <= 3
  29. a(2) <= 10
  30. a(3) <= 30
  31. a(4) <= 3458
  32. a(5) <= 29526
  33. a(6) <= 5437705
  34. a(7) <= 91604415
  35. a(8) <= 1190857395
  36. a(9) <= 26535163830
  37. a(10) <= 344957129790
  38. a(11) <= 5703406198237930
  39. a(12) <= 178435136773443810
  40. a(13) <= 4961806417984478790