RosettaCodeData/Task/Factorions/ALGOL-68/factorions.alg

22 lines
567 B
Text
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
BEGIN
# cache factorials from 0 to 11 #
2024-10-16 18:07:41 -07:00
[ 0 : 11 ]INT bfact;
bfact[0] := 1;
2023-07-01 11:58:00 -04:00
FOR n TO 11 DO
2024-10-16 18:07:41 -07:00
bfact[n] := bfact[n-1] * n
2023-07-01 11:58:00 -04:00
OD;
FOR b FROM 9 TO 12 DO
print( ( "The factorions for base ", whole( b, 0 ), " are:", newline ) );
FOR i TO 1500000 - 1 DO
INT sum := 0;
INT j := i;
WHILE j > 0 DO
2024-10-16 18:07:41 -07:00
sum +:= bfact[ j MOD b ];
2023-07-01 11:58:00 -04:00
j OVERAB b
OD;
IF sum = i THEN print( ( whole( i, 0 ), " " ) ) FI
OD;
print( ( newline ) )
OD
END