# Finding a squence.

#### 1178946728000

Problem #14 at project euler is straightforward. You need to find an iterative sequence or rather the starting number that results in the most terms. If you are a strict mathematician the problem description isn't very sound but anyway here is the solution:

`public void problem14(){int n0;long n;int maxTerms=0, terms=0, nMax=0;int results[] = new int;for(n0=5 ; n0 < 1000000 ; n0++, terms=0){n = n0;do {if(n % 2 == 0){n = n/2;}else{n = 3*n + 1;}terms++;//System.out.print(n +",");if(n < n0){if(n < 0){System.out.println("N =" + n +" for n0="+n0);break;}if(results[(int)n] != 0){terms += results[(int)n];break;}}}while(n != 1);results[n0] = terms;if(maxTerms < terms){maxTerms = terms;nMax = n0;}//System.out.println("");}System.out.println(nMax +" gives the most terms" + maxTerms);}`

At first I used integers instead of longss and ran into a situation where some of the terms exceeded 2^32 -1 which lead to array out of bounds exceptions. Switching to longs solved that one easily.