Tau function: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add J) |
Not a robot (talk | contribs) (Add PL/I) |
||
Line 1,297: | Line 1,297: | ||
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">join_by</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">apply</span><span style="color: #0000FF;">(</span><span style="color: #004600;">true</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">,{{</span><span style="color: #008000;">"%3d"</span><span style="color: #0000FF;">},</span><span style="color: #000000;">r</span><span style="color: #0000FF;">}),</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #000000;">20</span><span style="color: #0000FF;">,</span><span style="color: #008000;">""</span><span style="color: #0000FF;">))</span> |
<span style="color: #7060A8;">puts</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">join_by</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">apply</span><span style="color: #0000FF;">(</span><span style="color: #004600;">true</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">sprintf</span><span style="color: #0000FF;">,{{</span><span style="color: #008000;">"%3d"</span><span style="color: #0000FF;">},</span><span style="color: #000000;">r</span><span style="color: #0000FF;">}),</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #000000;">20</span><span style="color: #0000FF;">,</span><span style="color: #008000;">""</span><span style="color: #0000FF;">))</span> |
||
<!--</lang>--> |
<!--</lang>--> |
||
=={{header|PL/I}}== |
|||
{{trans|C}} |
|||
<lang pli>taufunc: procedure options(main); |
|||
tau: procedure(nn) returns(fixed); |
|||
declare (n, nn, tot, pf, cnt) fixed; |
|||
tot = 1; |
|||
do n=nn repeat(n/2) while(mod(n,2)=0); |
|||
tot = tot + 1; |
|||
end; |
|||
do pf=3 repeat(pf+2) while(pf*pf<=n); |
|||
do cnt=1 repeat(cnt+1) while(mod(n,pf)=0); |
|||
n = n/pf; |
|||
end; |
|||
tot = tot * cnt; |
|||
end; |
|||
if n>1 then tot = tot * 2; |
|||
return(tot); |
|||
end tau; |
|||
declare n fixed; |
|||
do n=1 to 100; |
|||
put edit(tau(n)) (F(3)); |
|||
if mod(n,20)=0 then put skip; |
|||
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|PureBasic}}== |
=={{header|PureBasic}}== |