RosettaCodeData/Task/M-bius-function/Loglan82/m-bius-function.loglan82
2026-04-30 12:34:36 -04:00

38 lines
588 B
Text

(* Moebius function *)
block
unit Moebius: function (n: integer): integer;
var
m, f: integer;
begin
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 div f
fi;
f := f + 1
fi;
if (f > n) or (m = 0) then exit fi
od
fi;
result := m
end;
var
t, u: integer;
begin
for t := 0 to 9
do
for u := 1 to 10 do write(Moebius(10 * t + u): 2, " ") od;
writeln;
od;
end;