Tau function: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add Cowgol) |
Not a robot (talk | contribs) (Add BCPL) |
||
Line 246: | Line 246: | ||
2 4 6 7 4 8 2 6 4 8 2 12 2 4 6 6 4 8 2 10 |
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> |
5 4 2 12 4 4 4 8 2 12 4 6 4 4 4 12 2 6 6 9</pre> |
||
=={{header|BCPL}}== |
|||
<lang bcpl>get "libhdr" |
|||
let tau(n) = valof |
|||
$( let total = 1 and p = 3 |
|||
while (n & 1) = 0 |
|||
$( total := total + 1 |
|||
n := n >> 1 |
|||
$) |
|||
while p*p <= n |
|||
$( let count = 1 |
|||
while n rem p = 0 |
|||
$( count := count + 1 |
|||
n := n / p |
|||
$) |
|||
total := total * count |
|||
p := p + 2 |
|||
$) |
|||
if n>1 then total := total * 2 |
|||
resultis total |
|||
$) |
|||
let start() be |
|||
for n=1 to 100 |
|||
$( writed(tau(n), 3) |
|||
if n rem 20 = 0 then wrch('*N') |
|||
$)</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|C}}== |
=={{header|C}}== |
||
{{trans|C++}} |
{{trans|C++}} |