38 lines
588 B
Text
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;
|