Tau function: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add COBOL) |
Not a robot (talk | contribs) (Add Modula-2) |
||
Line 1,034: | Line 1,034: | ||
{{out}} |
{{out}} |
||
<pre>{1,2,2,3,2,4,2,4,3,4,2,6,2,4,4,5,2,6,2,6,4,4,2,8,3,4,4,6,2,8,2,6,4,4,4,9,2,4,4,8,2,8,2,6,6,4,2,10,3,6,4,6,2,8,4,8,4,4,2,12,2,4,6,7,4,8,2,6,4,8,2,12,2,4,6,6,4,8,2,10,5,4,2,12,4,4,4,8,2,12,4,6,4,4,4,12,2,6,6,9}</pre> |
<pre>{1,2,2,3,2,4,2,4,3,4,2,6,2,4,4,5,2,6,2,6,4,4,2,8,3,4,4,6,2,8,2,6,4,4,4,9,2,4,4,8,2,8,2,6,6,4,2,10,3,6,4,6,2,8,4,8,4,4,2,12,2,4,6,7,4,8,2,6,4,8,2,12,2,4,6,6,4,8,2,10,5,4,2,12,4,4,4,8,2,12,4,6,4,4,4,12,2,6,6,9}</pre> |
||
=={{header|Modula-2}}== |
|||
{{trans|C}} |
|||
<lang modula2>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.</lang> |
|||
{{out}} |
|||
<pre> 1 2 2 3 2 4 2 4 3 4 2 6 2 4 4 5 2 6 2 6 |
|||
4 4 2 8 3 4 4 6 2 8 2 6 4 4 4 9 2 4 4 8 |
|||
2 8 2 6 6 4 2 10 3 6 4 6 2 8 4 8 4 4 2 12 |
|||
2 4 6 7 4 8 2 6 4 8 2 12 2 4 6 6 4 8 2 10 |
|||
5 4 2 12 4 4 4 8 2 12 4 6 4 4 4 12 2 6 6 9</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |