Arithmetic derivative: Difference between revisions
Content added Content deleted
(Added Miniscript) |
(Added Algol W) |
||
Line 80: | Line 80: | ||
D(10000000000000000000) / 7 = 19000000000000000000 |
D(10000000000000000000) / 7 = 19000000000000000000 |
||
D(100000000000000000000) / 7 = 200000000000000000000 |
D(100000000000000000000) / 7 = 200000000000000000000 |
||
</pre> |
|||
=={{header|ALGOL W}}== |
|||
{{Trans|ALGOL_68|basic r=task only as Algol W integers are limited to 32 bits and using compressed outpout}} |
|||
<syntaxhighlight lang="algolw"> |
|||
begin |
|||
integer procedure lagarias ( integer value n ) ; % Lagarias arithmetic derivative % |
|||
if n < 0 |
|||
then -lagarias (-n) |
|||
else if n = 0 or n = 1 |
|||
then 0 |
|||
else begin |
|||
integer f, q; |
|||
integer procedure smallPf ( integer value j, k ) ; % Smallest prime factor % |
|||
if j rem k = 0 then k else smallPf (j, k + 1); |
|||
f := smallPf (n, 2); q := n div f; |
|||
if q = 1 |
|||
then 1 |
|||
else q * lagarias (f) + f * lagarias (q) |
|||
end lagarias ; |
|||
for n := -99 until 100 do begin |
|||
writeon( i_w := 6, s_w := 0, " ", lagarias (n) ); |
|||
if n rem 10 = 0 then write() |
|||
end for_n |
|||
end. |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
-75 -77 -1 -272 -24 -49 -34 -96 -20 -123 |
|||
-1 -140 -32 -45 -22 -124 -1 -43 -108 -176 |
|||
-1 -71 -18 -80 -55 -39 -1 -156 -1 -59 |
|||
-26 -72 -1 -61 -18 -192 -51 -33 -1 -92 |
|||
-1 -31 -22 -92 -16 -81 -1 -56 -20 -45 |
|||
-14 -112 -1 -25 -39 -48 -1 -41 -1 -68 |
|||
-16 -21 -1 -60 -12 -19 -14 -80 -1 -31 |
|||
-1 -32 -27 -15 -10 -44 -1 -13 -10 -24 |
|||
-1 -21 -1 -32 -8 -9 -1 -16 -1 -7 |
|||
-6 -12 -1 -5 -1 -4 -1 -1 0 0 |
|||
0 1 1 4 1 5 1 12 6 7 |
|||
1 16 1 9 8 32 1 21 1 24 |
|||
10 13 1 44 10 15 27 32 1 31 |
|||
1 80 14 19 12 60 1 21 16 68 |
|||
1 41 1 48 39 25 1 112 14 45 |
|||
20 56 1 81 16 92 22 31 1 92 |
|||
1 33 51 192 18 61 1 72 26 59 |
|||
1 156 1 39 55 80 18 71 1 176 |
|||
108 43 1 124 22 45 32 140 1 123 |
|||
20 96 34 49 24 272 1 77 75 140 |
|||
</pre> |
</pre> |
||