16 lines
348 B
ObjectPascal
16 lines
348 B
ObjectPascal
uses school;
|
|
|
|
function mobius(n: integer): integer;
|
|
begin
|
|
var factors := n.Factorize;
|
|
if factors.Count = factors.ToSet.Count then
|
|
result := if factors.Count.IsEven then 1 else -1
|
|
else result := 0
|
|
end;
|
|
|
|
begin
|
|
println('Mobius numbers from 1..99:');
|
|
for var n := 1 to 99 do
|
|
write(mobius(n):3, if n mod 20 = 0 then #10 else '');
|
|
end.
|