Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
33
Task/Tau-function/Modula-2/tau-function.mod2
Normal file
33
Task/Tau-function/Modula-2/tau-function.mod2
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
MODULE TauFunc;
|
||||
FROM InOut IMPORT WriteCard, WriteLn;
|
||||
|
||||
VAR i: CARDINAL;
|
||||
|
||||
PROCEDURE tau(n: CARDINAL): CARDINAL;
|
||||
VAR total, count, p: CARDINAL;
|
||||
BEGIN
|
||||
total := 1;
|
||||
WHILE n MOD 2 = 0 DO
|
||||
n := n DIV 2;
|
||||
total := total + 1
|
||||
END;
|
||||
p := 3;
|
||||
WHILE p*p <= n DO
|
||||
count := 1;
|
||||
WHILE n MOD p = 0 DO
|
||||
n := n DIV p;
|
||||
count := count + 1
|
||||
END;
|
||||
total := total * count;
|
||||
p := p + 2
|
||||
END;
|
||||
IF n>1 THEN total := total * 2 END;
|
||||
RETURN total;
|
||||
END tau;
|
||||
|
||||
BEGIN
|
||||
FOR i := 1 TO 100 DO
|
||||
WriteCard(tau(i), 3);
|
||||
IF i MOD 20 = 0 THEN WriteLn END
|
||||
END
|
||||
END TauFunc.
|
||||
Loading…
Add table
Add a link
Reference in a new issue