Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def numbers=[1:[1]];
- def getNext(number) {
- if((number%2)==0) {
- return number/2;
- } else {
- return 3*number+1;
- }
- }
- def getSequence(numbers, number) {
- if(numbers.containsKey(number)) {
- return numbers.get(number);
- } else {
- def next = getNext(number).toInteger();
- def nextSeq = getSequence(numbers, next);
- def seq = nextSeq.clone();
- seq.add(0, number);
- numbers[number]=seq;
- return seq;
- }
- }
- for(i in 1..1000) {
- getSequence(numbers, i);
- if(i%100000==0) {
- println "$i reached";
- }
- }
- max = 0;
- numbers.each { k, v->
- if(v.size()>max) {
- max = v.size();
- }
- }
- println max;
Add Comment
Please, Sign In to add comment