Hailstone sequence: Difference between revisions

→‎{{header|Awk}}: hailstone sequence added
(→‎{{header|Awk}}: hailstone sequence added)
Line 328:
Sequence-Lenght: 112
Longest Sequence : 351 from number 77031
</pre>
 
=={{header|Awk}}==
<lang awk>
#!/usr/bin/awk -f
function hailstone(v, verbose) {
n = 1;
u = v;
while (1) {
if (verbose) printf " "u;
if (u==1) return(n);
n++;
if (u%2 > 0 )
u = 3*u+1;
else
u = u/2;
}
}
 
BEGIN {
i = 27;
printf("hailstone(%i) has %i elements\n",i,hailstone(i,1));
ix=0;
m=0;
for (i=1; i<100000; i++) {
n = hailstone(i,0);
if (m<n) {
m=n;
ix=i;
}
}
printf("longest hailstone sequence is %i and has %i elements\n",ix,m);
}
</lang>
Output:
<pre>
27 82 41 124 ....... 8 4 2 1
hailstone(27) has 112 elements
longest hailstone sequence is 77031 and has 351 elements
</pre>
 
Anonymous user