有关求水仙花数的问题
请问为啥我这个3位数水仙花数少一个153 其他位数的都对呢感谢各位大神
int n;
scanf("%d",&n);
int x=1,y=1,sum;
int o=n-1,p=n;
while(o>0){
x*=10;
o--;
}
while(p>0){
y*=10;
p--;
}y-=1;
int i,j,k,a,b;
for(i=x;i<=y;i++){
a=i;b=i;sum=0;
for(j=n;j>0;j--){
b=a%10;
a/=10;
sum+=pow(b,n);
}if(sum==i){
printf("%d\n",sum);
}
}
你确定你的代码贴全了?
能运行?
补全之后没发现少那个153啊
#include <stdio.h>
#include"math.h"
int main()
{
int n;
scanf("%d",&n);
int x=1,y=1,sum;
int o=n-1,p=n;
while(o>0){
x*=10;
o--;
}
while(p>0){
y*=10;
p--;
}
y-=1;
int i,j,k,a,b;
for(i=x;i<=y;i++){
a=i;b=i;sum=0;
for(j=n;j>0;j--){
b=a%10;
a/=10;
sum+=pow(b,n);
}
if(sum==i){
printf("%d\n",sum);
}
}
return 0;
} sunrise085 发表于 2020-4-7 10:42
你确定你的代码贴全了?
能运行?
补全之后没发现少那个153啊
不知道为啥我运行不了这段代码
随便输入一个数后回车就直接Press any key to continue...
然后输入23就卡住,只能手动关闭
(顺便那个k是未被使用的量,应该可以删除) 墨羽岚 发表于 2020-4-7 11:36
不知道为啥我运行不了这段代码
随便输入一个数后回车就直接Press any key to continue...
然后输入23就 ...
n是位数
三位数的水仙花数,就输入3 sunrise085 发表于 2020-4-7 11:44
n是位数
三位数的水仙花数,就输入3
{:10_247:}我审题不仔细{:10_292:}
页:
[1]