RosettaCodeData/Task/M-bius-function/QuickBASIC/m-bius-function.basic

29 lines
493 B
Text
Raw Permalink Normal View History

2026-04-30 12:34:36 -04:00
' 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