16 lines
557 B
Plaintext
16 lines
557 B
Plaintext
fuscs:=List.createLong(1_000_000, 0); fuscs[1]=1; // we'll just use a big count
|
|
foreach n in ([2..fuscs.len()-1]){ // and generate
|
|
fuscs[n]=( if(n.isEven()) fuscs[n/2] else fuscs[(n-1)/2] + fuscs[(n+1)/2] )
|
|
}
|
|
|
|
println("First 61 terms of the Stern-Brocot sequence:");
|
|
fuscs[0,61].concat(" ").println();
|
|
|
|
println("\nIndex and value for first term longer than any previous:");
|
|
println(" Index : Value");
|
|
prevMax:=-1;
|
|
foreach n in (fuscs.len()){
|
|
f,fd := fuscs[n], f.numDigits;
|
|
if(fd>prevMax){ println("%15,d : %,d".fmt(n,f)); prevMax=fd }
|
|
}
|