Deceptive numbers: Difference between revisions
Content deleted Content added
Add Factor |
faster version |
||
Line 61: | Line 61: | ||
function deceptives(numwanted) |
function deceptives(numwanted) |
||
n, ret = 2, Int[] |
n, r, ret = 2, big"1", Int[] |
||
while length(ret) < numwanted |
while length(ret) < numwanted |
||
!isprime(n) && r % n == 0 && push!(ret, n) |
|||
r = evalpoly(big"10", [1 for _ in 1:n-1]) |
|||
r % n == 0 && push!(ret, n) |
|||
⚫ | |||
n += 1 |
n += 1 |
||
⚫ | |||
end |
end |
||
return ret |
return ret |
||
end |
end |
||
println(deceptives( |
@time println(deceptives(30)) |
||
</lang> |
</lang>{{out}} |
||
<pre> |
|||
[91, 259, 451, 481, 703, 1729, 2821, 2981, 3367, 4141, 4187, 5461, 6533, 6541, 6601, 7471, 7777, 8149, 8401, 8911, 10001, 11111, 12403, 13981, 14701, 14911, 15211, 15841, 19201, 21931] |
|||
0.296141 seconds (317.94 k allocations: 196.253 MiB, 39.26% gc time) |
|||
</pre> |
|||
=={{header|Raku}}== |
=={{header|Raku}}== |