28 lines
493 B
Text
28 lines
493 B
Text
' Moebius function
|
|
DECLARE FUNCTION Moebius% (N%)
|
|
FOR T% = 0 TO 9
|
|
FOR U% = 1 TO 10
|
|
PRINT USING "## "; Moebius%(10 * T% + U%);
|
|
NEXT U%
|
|
PRINT
|
|
NEXT T%
|
|
END
|
|
|
|
FUNCTION Moebius% (N%)
|
|
M% = 1
|
|
IF N% <> 1 THEN
|
|
F% = 2
|
|
DO
|
|
IF (N% MOD (F% * F%)) = 0 THEN
|
|
M% = 0
|
|
ELSE
|
|
IF N% MOD F% = 0 THEN
|
|
M% = -M%
|
|
N% = N% \ F%
|
|
END IF
|
|
F% = F% + 1
|
|
END IF
|
|
LOOP WHILE (F% <= N%) AND (M% <> 0)
|
|
END IF
|
|
Moebius% = M%
|
|
END FUNCTION
|