Guest User

Untitled

a guest
Apr 27th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. def numbers=[1:[1]];
  2.  
  3.  
  4. def getNext(number) {
  5. if((number%2)==0) {
  6. return number/2;
  7. } else {
  8. return 3*number+1;
  9. }
  10. }
  11.  
  12. def getSequence(numbers, number) {
  13. if(numbers.containsKey(number)) {
  14. return numbers.get(number);
  15. } else {
  16. def next = getNext(number).toInteger();
  17. def nextSeq = getSequence(numbers, next);
  18. def seq = nextSeq.clone();
  19. seq.add(0, number);
  20. numbers[number]=seq;
  21. return seq;
  22. }
  23. }
  24.  
  25. for(i in 1..1000) {
  26. getSequence(numbers, i);
  27. if(i%100000==0) {
  28. println "$i reached";
  29. }
  30. }
  31.  
  32. max = 0;
  33. numbers.each { k, v->
  34. if(v.size()>max) {
  35. max = v.size();
  36. }
  37. }
  38. println max;
Add Comment
Please, Sign In to add comment