20 lines
544 B
Plaintext
20 lines
544 B
Plaintext
program mertens;
|
|
m := [1] * 1000;
|
|
loop for n in [1..#m] do
|
|
m(n) -:= 0 +/[m(n div k) : k in [2..n]];
|
|
end loop;
|
|
|
|
print("The first 99 Mertens numbers:");
|
|
putchar(" ");
|
|
loop for n in [1..99] do
|
|
putchar(lpad(str m(n), 3));
|
|
if n mod 10=9 then print; end if;
|
|
end loop;
|
|
|
|
zero := #[n : n in [1..#m] | m(n) = 0];
|
|
cross := #[n : n in [1..#m] | m(n) = 0 and m(n-1) /= 0];
|
|
|
|
print("M(N) is zero " + str zero + " times.");
|
|
print("M(N) crosses zero " + str cross + " times.");
|
|
end program;
|