Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
47
Task/Mertens-function/Modula-2/mertens-function.mod2
Normal file
47
Task/Mertens-function/Modula-2/mertens-function.mod2
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
MODULE Mertens;
|
||||
FROM InOut IMPORT WriteString, WriteInt, WriteCard, WriteLn;
|
||||
|
||||
CONST Max = 1000;
|
||||
VAR n, k, x, y, zero, cross: CARDINAL;
|
||||
M: ARRAY [1..Max] OF INTEGER;
|
||||
|
||||
BEGIN
|
||||
M[1] := 1;
|
||||
FOR n := 2 TO Max DO
|
||||
M[n] := 1;
|
||||
FOR k := 2 TO n DO
|
||||
M[n] := M[n] - M[n DIV k];
|
||||
END;
|
||||
END;
|
||||
|
||||
WriteString("The first 99 Mertens numbers are:");
|
||||
WriteLn();
|
||||
FOR y := 0 TO 90 BY 10 DO
|
||||
FOR x := 0 TO 9 DO
|
||||
IF x+y=0 THEN WriteString(" ");
|
||||
ELSE WriteInt(M[x+y], 3);
|
||||
END;
|
||||
END;
|
||||
WriteLn();
|
||||
END;
|
||||
|
||||
zero := 0;
|
||||
cross := 0;
|
||||
FOR n := 2 TO Max DO
|
||||
IF M[n] = 0 THEN
|
||||
zero := zero + 1;
|
||||
IF M[n-1] # 0 THEN
|
||||
cross := cross + 1;
|
||||
END;
|
||||
END;
|
||||
END;
|
||||
|
||||
WriteString("M(n) is zero ");
|
||||
WriteCard(zero,0);
|
||||
WriteString(" times.");
|
||||
WriteLn();
|
||||
WriteString("M(n) crosses zero ");
|
||||
WriteCard(cross,0);
|
||||
WriteString(" times.");
|
||||
WriteLn();
|
||||
END Mertens.
|
||||
Loading…
Add table
Add a link
Reference in a new issue