42 lines
642 B
Plaintext
42 lines
642 B
Plaintext
MODULE Moebius;
|
|
(* Moebius function *)
|
|
FROM STextIO IMPORT
|
|
WriteLn, WriteString;
|
|
FROM SWholeIO IMPORT
|
|
WriteInt;
|
|
|
|
VAR
|
|
T, U: INTEGER;
|
|
|
|
PROCEDURE Moebius(N: INTEGER): INTEGER;
|
|
VAR
|
|
M, F: INTEGER;
|
|
BEGIN
|
|
M := 1;
|
|
IF N <> 1 THEN
|
|
F := 2;
|
|
REPEAT
|
|
IF N MOD (F * F) = 0 THEN
|
|
M := 0
|
|
ELSE
|
|
IF N MOD F = 0 THEN
|
|
M := -M;
|
|
N := N DIV F
|
|
END;
|
|
F := F + 1
|
|
END
|
|
UNTIL (F > N) OR (M = 0)
|
|
END;
|
|
RETURN M
|
|
END Moebius;
|
|
|
|
BEGIN
|
|
FOR T := 0 TO 9 DO
|
|
FOR U := 1 TO 10 DO
|
|
WriteInt(Moebius(10 * T + U), 2);
|
|
WriteString(' ')
|
|
END;
|
|
WriteLn
|
|
END
|
|
END Moebius.
|