29 lines
723 B
Text
29 lines
723 B
Text
using Primes
|
|
|
|
function isarithmetic(n)
|
|
f = [one(n)]
|
|
for (p,e) in factor(n)
|
|
f = reduce(vcat, [f*p^j for j in 1:e], init=f)
|
|
end
|
|
return rem(sum(f), length(f)) == 0
|
|
end
|
|
|
|
function arithmetic(n)
|
|
i, arr = 1, Int[]
|
|
while length(arr) < n
|
|
isarithmetic(i) && push!(arr, i)
|
|
i += 1
|
|
end
|
|
return arr
|
|
end
|
|
|
|
a1M = arithmetic(1_000_000)
|
|
composites = [!isprime(i) for i in a1M]
|
|
|
|
println("The first 100 arithmetic numbers are:")
|
|
foreach(p -> print(lpad(p[2], 5), p[1] % 20 == 0 ? "\n" : ""), enumerate(a1M[1:100]))
|
|
|
|
println("\n X Xth in Series Composite")
|
|
for n in [1000, 10_000, 100_000, 1_000_000]
|
|
println(lpad(n, 9), lpad(a1M[n], 12), lpad(sum(composites[2:n]), 14))
|
|
end
|