23 lines
505 B
Plaintext
23 lines
505 B
Plaintext
SUB digitalroot (what)
|
|
LET dr = ABS(what)
|
|
IF dr > 10 THEN
|
|
LET ap = 0
|
|
DO
|
|
LET ap = ap + 1
|
|
DO WHILE dr <> 0
|
|
LET t = t + REMAINDER(dr, 10)
|
|
LET dr = IP(dr / 10)
|
|
LOOP
|
|
LET dr = t
|
|
LET t = 0
|
|
LOOP WHILE dr > 9
|
|
END IF
|
|
PRINT what, "Additive persistance ="; ap, "Digital root ="; dr
|
|
END SUB
|
|
|
|
CALL digitalroot (627615)
|
|
CALL digitalroot (39390)
|
|
CALL digitalroot (588225)
|
|
CALL digitalroot (393900588225)
|
|
END
|