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.