Achilles numbers: Difference between revisions
Content added Content deleted
Line 679: | Line 679: | ||
100000:999999 664 |
100000:999999 664 |
||
</pre> |
</pre> |
||
=={{header|Mathematica}}/{{header|Wolfram Language}}== |
|||
<lang Mathematica>ClearAll[PowerfulNumberQ, StrongAchillesNumberQ] |
|||
PowerfulNumberQ[n_Integer] := AllTrue[FactorInteger[n][[All, 2]], GreaterEqualThan[2]] |
|||
AchillesNumberQ[n_Integer] := Module[{divs}, |
|||
If[PowerfulNumberQ[n], |
|||
divs = Divisors[n]; |
|||
If[Length[divs] > 2, |
|||
divs = divs[[2 ;; -2]]; |
|||
!AnyTrue[Log[#, n] & /@ divs, IntegerQ] |
|||
, |
|||
True |
|||
] |
|||
, |
|||
False |
|||
] |
|||
] |
|||
StrongAchillesNumberQ[n_] := AchillesNumberQ[n] \[And] AchillesNumberQ[EulerPhi[n]] |
|||
n = 0; |
|||
i = 0; |
|||
Reap[While[n < 50, |
|||
i++; |
|||
If[AchillesNumberQ[i], n++; Sow[i]] |
|||
]][[2, 1]] |
|||
n = 0; |
|||
i = 0; |
|||
Reap[While[n < 20, |
|||
i++; |
|||
If[StrongAchillesNumberQ[i], n++; Sow[i]] |
|||
]][[2, 1]] |
|||
Tally[IntegerLength /@ Select[Range[9999999], AchillesNumberQ]]</lang> |
|||
{{out}} |
|||
<pre>{72, 108, 200, 288, 392, 432, 500, 648, 675, 800, 864, 968, 972, 1125, 1152, 1323, 1352, 1372, 1568, 1800, 1944, 2000, 2312, 2592, 2700, 2888, 3087, 3200, 3267, 3456, 3528, 3872, 3888, 4000, 4232, 4500, 4563, 4608, 5000, 5292, 5324, 5400, 5408, 5488, 6075, 6125, 6272, 6728, 6912, 7200} |
|||
{500, 864, 1944, 2000, 2592, 3456, 5000, 10125, 10368, 12348, 12500, 16875, 19652, 19773, 30375, 31104, 32000, 33275, 37044, 40500} |
|||
{{2, 1}, {3, 12}, {4, 47}, {5, 192}, {6, 664}, {7, 2242}}</pre> |
|||
=={{header|Perl}}== |
=={{header|Perl}}== |