Pistachio15038 @ 2024-11-01 21:07:36
输出所有的“水仙花数”。所谓的水仙花数是一个3位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为153 = 13 + 53 + 33。 请编程计算并从小到大输出所有水仙花数。
无输入。
输出若干行,每个水仙花数占一行。
我的代码哪里有纰漏问题吗?为啥拿不了满分,只得了20分。
输出为int范围的整数
#include<stdio.h>
#include<math.h>
int main ()
{
for(int i=100;i<=999;i++){
int a,b,c;
a=i/100;
b=((i/10))%10;
c=i%10;
int sum=pow(a,3)+pow(b,3)+pow(c,3);
if(sum==i){
printf("%d\n",i);
}
}
return 0;
}
by xywuyu @ 2024-11-01 21:09:47
153 = 13 + 53 + 33 ?@Pistachio15038
by zhangqixuan0819 @ 2024-11-01 21:10:42
@Pistachio15038 你把链接发一下
by xywuyu @ 2024-11-01 21:12:44
@Pistachio15038 是超时吗
by zhangqixuan0819 @ 2024-11-01 21:12:51
@Pistachio15038
by N1ght_Star @ 2024-11-01 21:13:16
@zhangqixuan0819 应该是latex炸了
by N1ght_Star @ 2024-11-01 21:13:47
@Pistachio15038 你的pow精度不够 直接写aa a
by zhkkk_ @ 2024-11-01 21:14:15
@xywuyu 应该是1^3+5^3+3^3
by zhangqixuan0819 @ 2024-11-01 21:15:03
@Pistachio15038\
by xywuyu @ 2024-11-01 21:15:43
#include<bits/stdc++.h>
using namespace std;
int a[40000];
int main()
{int n,y=1,k=0;
for (int a=1;a<=9;++a)
for (int b=0;b<=9;++b)
for (int c=0;c<=9;++c)
{
if (a*a*a+b*b*b+c*c*c==a*100+b*10+c)
{
cout<<a*100+b*10+c<<"\n";
}
}
return 0;}
by zhangqixuan0819 @ 2024-11-01 21:17:38
@xywuyu
这不是c++吗