RosettaCodeData/Task/Arithmetic-derivative/Action-/arithmetic-derivative.action

16 lines
368 B
Plaintext

PROC Main()
INT n, f, l, z
FOR n = -99 TO 100 DO
l = 0 f = 3 IF n < 0 THEN z = - n ELSE z = n FI
WHILE z >= 2 DO
WHILE z MOD 2 = 0 DO l ==+ n / 2 z ==/ 2 OD
IF f <= z THEN
WHILE z MOD f = 0 DO l ==+ n / f z ==/ f OD
f ==+ 2
FI
OD
PrintF( "%8I", l )
IF ( n + 100 ) MOD 10 = 0 THEN PutE() FI
OD
RETURN