题目
找到所有数字,其自身等于其各位数字的5次幂之和。题目来源欧拉计划30题
解答
由于数字较大,因此通过采用先将数字转变为字符串的方式来读取其中的每个数字。
a是一个n位数字,我们需要先估算n的大小
function calc(n)
(n-1)log(10)-log(n)-5 * log(10)
end
function myn()
n = 1
while calc(n) < 0
n += 1
end
n-1
end
myn()
所以数字顶多是6位数,那么数字上限就是
using Parsers
function my_sum_five(a)
mylist = Int[]
for i ∈ a
push!(mylist,parse(Int,i))
end
mylist .|> fivelevel |> sum
end
function fivelevel(A::Int)
A^5
end
function myans()
new_ans_list = Int[]
for i ∈ 2:6*9^5
if i == my_sum_five(string(i))
push!(new_ans_list,i)
end
end
sum(new_ans_list)
end
标签:function,end,数字,Int,sum,30,list,Julia,欧拉
From: https://www.cnblogs.com/haowen-t/p/17044336.html