C语言站外题,萌新求助大佬!

题目总版

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

???\ 确定不是每位数都填$3

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\

153 = 1^3+5^3+3^3=1+125+27=153

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++吗


| 下一页