Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
42
Task/Mertens-function/CLU/mertens-function.clu
Normal file
42
Task/Mertens-function/CLU/mertens-function.clu
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
% Generate Mertens numbers up to a given limit
|
||||
mertens = proc (limit: int) returns (array[int])
|
||||
M: array[int] := array[int]$fill(1,limit,0)
|
||||
M[1] := 1
|
||||
for n: int in int$from_to(2,limit) do
|
||||
M[n] := 1
|
||||
for k: int in int$from_to(2,n) do
|
||||
M[n] := M[n] - M[n/k]
|
||||
end
|
||||
end
|
||||
return (M)
|
||||
end mertens
|
||||
|
||||
start_up = proc ()
|
||||
max = 1000
|
||||
|
||||
po: stream := stream$primary_output()
|
||||
M: array[int] := mertens(max)
|
||||
|
||||
stream$putl(po, "The first 99 Mertens numbers are:")
|
||||
for y: int in int$from_to_by(0,90,10) do
|
||||
for x: int in int$from_to(0,9) do
|
||||
stream$putright(po, int$unparse(M[x+y]), 3)
|
||||
except when bounds:
|
||||
stream$putright(po, "", 3)
|
||||
end
|
||||
end
|
||||
stream$putl(po, "")
|
||||
end
|
||||
|
||||
eqz: int := 0
|
||||
crossz: int := 0
|
||||
for i: int in int$from_to(2,max) do
|
||||
if M[i]=0 then
|
||||
eqz := eqz + 1
|
||||
if M[i-1]~=0 then crossz := crossz + 1 end
|
||||
end
|
||||
end
|
||||
|
||||
stream$putl(po, "M(N) is zero " || int$unparse(eqz) || " times.")
|
||||
stream$putl(po, "M(N) crosses zero " || int$unparse(crossz) || " times.")
|
||||
end start_up
|
||||
Loading…
Add table
Add a link
Reference in a new issue