group_trajectories.sf 369 B

12345678910111213141516171819202122
  1. #!/usr/bin/ruby
  2. var table = Hash()
  3. func f(n, k) {
  4. while (n.is_semiprime && n.is_squarefree) {
  5. var f = n.factor
  6. n = (f[1] - f[0])
  7. table{n} := [] << [k, f[1]]
  8. }
  9. }
  10. each_kv([6, 34, 82, 226, 687, 4786, 14367, 28738, 373763, 21408927, 158279834, 2690757467], {|k,v|
  11. say "#{k} = #{f(v,k)}"
  12. #assert_eq(k, eval(f(k)))
  13. })
  14. say table