Totient function: Difference between revisions
Content added Content deleted
Drkameleon (talk | contribs) (added Arturo) |
|||
Line 1,226: | Line 1,226: | ||
Number of primes to 100000 : 9592 |
Number of primes to 100000 : 9592 |
||
</pre> |
</pre> |
||
=={{header|Arturo}}== |
|||
<syntaxhighlight lang="arturo">totient: function [n][ |
|||
tot: new n |
|||
i: 2 |
|||
while -> n >= i * i [ |
|||
if 0 = n % i [ |
|||
while -> 0 = n % i -> n: n / i |
|||
'tot - tot / i |
|||
] |
|||
if 2 = i -> i: 1 |
|||
'i + 2 |
|||
] |
|||
if n > 1 -> 'tot - tot / n |
|||
return tot |
|||
] |
|||
primes: 0 |
|||
loop 1..100000 'i [ |
|||
t: totient i |
|||
prime?: 1 = i - t |
|||
if i < 26 [ |
|||
prints ~« Φ(|pad.with:`0` to :string i 2|) = |pad to :string t 2| |
|||
if prime? -> prints ", prime" |
|||
print "" |
|||
] |
|||
if 50 = i -> print "" |
|||
if in? i [100 1000 10000 100000] -> print ~« |primes| primes =< |i| |
|||
if prime? -> 'primes + 1 |
|||
]</syntaxhighlight> |
|||
{{out}} |
|||
<pre>Φ(01) = 1 |
|||
Φ(02) = 1, prime |
|||
Φ(03) = 2, prime |
|||
Φ(04) = 2 |
|||
Φ(05) = 4, prime |
|||
Φ(06) = 2 |
|||
Φ(07) = 6, prime |
|||
Φ(08) = 4 |
|||
Φ(09) = 6 |
|||
Φ(10) = 4 |
|||
Φ(11) = 10, prime |
|||
Φ(12) = 4 |
|||
Φ(13) = 12, prime |
|||
Φ(14) = 6 |
|||
Φ(15) = 8 |
|||
Φ(16) = 8 |
|||
Φ(17) = 16, prime |
|||
Φ(18) = 6 |
|||
Φ(19) = 18, prime |
|||
Φ(20) = 8 |
|||
Φ(21) = 12 |
|||
Φ(22) = 10 |
|||
Φ(23) = 22, prime |
|||
Φ(24) = 8 |
|||
Φ(25) = 20 |
|||
25 primes =< 100 |
|||
168 primes =< 1000 |
|||
1229 primes =< 10000 |
|||
9592 primes =< 100000</pre> |
|||
=={{header|AutoHotkey}}== |
=={{header|AutoHotkey}}== |