prog.sf 949 B

1234567891011121314151617181920212223242526272829303132333435
  1. #!/usr/bin/ruby
  2. # a(1)=1; a(n+1) = the largest prime divisor of A138793(n+1).
  3. # https://oeis.org/A138963
  4. # First several terms of the sequence:
  5. # 1, 7, 107, 149, 953, 218107, 402859, 4877, 379721, 4349353, 169373, 182473, 1940144339383, 2184641, 437064932281, 5136696159619, 67580875919190833, 1156764458711, 464994193118899, 4617931439293
  6. # a(n) = A006530(A138793(n)). - ~~~~
  7. include("../../../factordb/auto.sf")
  8. func a(n) {
  9. 1..n -> join.flip.to_i
  10. }
  11. var bfile = File("bfile.txt").open_w.autoflush(true)
  12. for n in (1..10000) {
  13. var k = a(n)
  14. var row = "#{n} #{gpf(k)||1}"
  15. say row
  16. bfile.say(row)
  17. }
  18. __END__
  19. # PARI/GP program:
  20. f(n) = my(s = ""); forstep (k=n, 1, -1, sk = digits(k); forstep (j=#sk, 1, -1, s = concat(s, sk[j]))); print(s); eval(s); \\ A138793
  21. f(n) = my(D = Vec(concat(apply(s->Str(s), [1..n])))); eval(concat(vector(#D, k, D[#D-k+1]))); \\ A138793
  22. a(n) = if(n == 1, 1, vecmax(factor(f(n))[,1])); \\ ~~~~