水仙花数问题,这道题哪里错了? 所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,

2024-12-01 17:22:52
推荐回答(6个)
回答1:

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)你没有判别n的取值,要确保是一个三位数不然一定会出问题的,不如你输入一个两位数,n能对100就不会得到正确的结果。下面程序是一个简单例子:
输出所有的水仙花数
#include
int main()
{
for (int n=100;n<1000;n++)
{
if(n==(n/100)*(n/100)*(n/100)+(n%100/10)*(n%100/10)*(n%100/10)+(n%10)*(n%10)*(n%10))
cout<}
}
如果还有问题可以给我留言,或直接Hi我。

回答2:

查查 % 和 / 的优先级

回答3:

% 和 / 的优先级一样的。。。。

判断那一块没有错吧。。。。

不过你的main函数是int类型的,最好有个返回值。。。。

没的话也能运行。。。。

我这边检验了153,没有错误。。。。

我不清楚你说的是什么错误。。。。

回答4:

在程序末尾加上return 0;应该就没问题了。

回答5:

没错

153 370 371 407 测试都没有问题

回答6:

在包含头文件那句的下面加上这句:
using namespace std;
你没有使用std的命名空间不能直接用cout,cin函数
如果你不想加上面那句,那么就把cout,cin写成std::cout,std::cin