prog.sf 728 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/usr/bin/ruby
  2. # Largest prime factor of n^n - n^(n-1) - n^(n-2) - ... - n^2 - n - 1.
  3. # https://oeis.org/A191624
  4. include('../../../factordb/auto.sf')
  5. func a(n) is cached {
  6. var t = n**n
  7. for k in (0 .. n-1) {
  8. t -= n**k
  9. }
  10. return t
  11. }
  12. #~ for n in (54 .. 1000) {
  13. #~ var k = a(n)
  14. #~ #say "#{k} = #{k.factor{.ecm_factor(50_000, 10)}.first(-1).join(' * ')}"
  15. #~ say "#{k} = #{k.factor{.pm1_factor(1e6)}.first(-1).join(' * ')}"
  16. #~ }
  17. #~ __END__
  18. var fh = File('bfile.txt').open_w
  19. fh.autoflush(true)
  20. for n in (3..10000) {
  21. var row = "#{n} #{gpf(a(n)) || 1}"
  22. say row
  23. fh.say(row)
  24. }
  25. __END__
  26. # PARI/GP program:
  27. a(n) = if(n==0, return(1)); vecmax(factor(n^n - (n^n-1)/(n-1))[,1]); \\ ~~~~