各位大佬帮帮忙,实在做不出来
如果一个数它的每位数码的平方相加等于这个数自己。输出1000以内所有这样的数,并统计有几个这样的数字#coding:utf-8
N = 4
(('1'<<'0'*(N-1)).to_i..('9'*N).to_i).each do |i| #从10...到99... 循环
n = 0.upto(N-1).inject(0) { |sum,j|sum + (i.to_s.to_i)**N}#N次方加和
p i if n==i
end
不知道做什么的,应该能解决吧。 #include <stdio.h>
int func(int n);
int main(void)
{
int i;
for(i=0;i<1000;++i)
{
if(func(i))
{
printf("%d\n",i);
}
}
return 0;
}
int func(int n)
{
int t,sum;
for(t=n,sum=0;t;t/=10)
{
sum+=(t%10)*(t%10);
}
return sum==n;
} 可以的,用个嵌套循环就ok 厉害了... 这个不就是那个水仙花数吗
页:
[1]