RosettaCodeData/Task/Calkin-Wilf-sequence/Bracmat/calkin-wilf-sequence.bracmat
2023-07-01 13:44:08 -04:00

34 lines
642 B
Text

( 1:?a
& 0:?i
& whl
' ( 1+!i:<20:?i
& (2*div$(!a,1)+1+-1*!a)^-1:?a
& out$!a
)
& ( r2cf
= floor
. div$(!arg,1):?floor
& ( !floor:!arg
| !floor r2cf$((!arg+-1*!floor)^-1)
)
)
& ( get-term-num
= ans dig pwr
. (0,1,1):(?ans,?dig,?pwr)
& r2cf$!arg:?n
& map
$ ( (
=
. whl
' ( !arg+-1:~<0:?arg
& !dig*!pwr+!ans:?ans
& 2*!pwr:?pwr
)
& 1+-1*!dig:?dig
)
. !n
)
& !ans
)
& out$(get-term-num$83116/51639)
);