33 lines
1.0 KiB
Plaintext
33 lines
1.0 KiB
Plaintext
$ENTRY Go {
|
|
= <Table 10 7 <Each (Lagarias) <Iota ('-'99) 100>>>
|
|
};
|
|
|
|
Lagarias {
|
|
'-' e.N = '-' <Lagarias e.N>;
|
|
0 = 0;
|
|
1 = 0;
|
|
e.N, <Fac e.N>: {
|
|
e.N = 1;
|
|
e.F, <Div (e.N) e.F>: e.R =
|
|
<Add <Mul (e.R) <Lagarias e.F>>
|
|
<Mul (e.F) <Lagarias e.R>>>;
|
|
};
|
|
};
|
|
|
|
Fac {
|
|
(e.F) e.N, <Mul (e.N) e.N>: e.N2,
|
|
<Compare (e.F) e.N2>: '+' = e.N;
|
|
(e.F) e.N, <Mod (e.N) e.F>: 0 = e.F;
|
|
(e.F) e.N = <Fac (<Add (1) e.F>) e.N>;
|
|
e.N = <Fac (2) e.N>;
|
|
};
|
|
|
|
Table { s.C s.W e.L = <Each (Prout) <Each (Line s.W) <Group s.C e.L>>>; };
|
|
Line { s.W e.X = <Join <Each (Fmt s.W) e.X>>; };
|
|
Fmt { s.W e.X, <Last s.W <Rep s.W ' '> <Symb e.X>>: (e.Z) e.C = e.C; };
|
|
Rep { 0 s.C = ; s.N s.C = s.C <Rep <Sub s.N 1> s.C>; };
|
|
Join { = ; (e.X) e.Y = e.X <Join e.Y>; };
|
|
Group { s.N = ; s.N e.X, <First s.N e.X>: (e.G) e.R = (e.G) <Group s.N e.R>; };
|
|
Each { (e.F) = ; (e.F) (e.X) e.XS = (<Mu e.F e.X>) <Each (e.F) e.XS>; };
|
|
Iota { (e.E) e.E = (e.E); (e.S) e.E = (e.S) <Iota (<Add (1) e.S>) e.E>; };
|