prog.sf 560 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/ruby
  2. # Number of Lucas divisors of the n-th Lucas number
  3. # https://oeis.org/A356122
  4. func a(k) {
  5. return 2 if (k == 0)
  6. return 1 if (k == 1)
  7. var n = k.lucas
  8. var count = 0
  9. for k in (0..Inf) {
  10. var t = k.lucas
  11. if (t.divides(n)) {
  12. ++count
  13. }
  14. break if (t >= n)
  15. }
  16. return count
  17. }
  18. for n in (0..10) {
  19. say "#{n} #{a(n)}"
  20. }
  21. __END__
  22. # PARI/GP program:
  23. a(n) = if(n==1, return(1)); my(k=fibonacci(n+1)+fibonacci(n-1),c=0,x=2,y=1); while(x <= k, if(k%x == 0, c++); [x,y]=[y,x+y]); c;