u.sf 504 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/ruby
  2. func foo(n) {
  3. var count = 0
  4. var cons = false
  5. while (n != 1) {
  6. ++count
  7. if (n %% 3) { #%
  8. n //= 3 #/
  9. cons = false
  10. }
  11. else {
  12. if (cons) {
  13. return -1
  14. }
  15. n = floor(n * sqrt(3)).int
  16. cons = true
  17. }
  18. }
  19. count
  20. }
  21. [696922987, 1207106023, 2090768962, 3632578906, 6291811228, 10897736719, 18875433685].each{|k|
  22. say (k, " => ", foo(k))
  23. }