|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int a,b,c,d;
b=a/100;
c=a/10%10;
d=a-100*b-10*c;
for(int i=100;i<=999;i++)
{
if(a==pow(b,3)+pow(c,3)+pow(d,3))
{
cout<<a<<endl;
}
}
return 0;
}
代码中存在几个问题:
1. 变量a没有被赋值,所以无法计算a的值。需要在for循环中为a赋值。
2. 变量a应该在for循环内部进行赋值,以便每次循环都能计算不同的a值。
3. 变量b、c、d的计算应该在for循环内部进行,以便每次循环都能计算对应的b、c、d值。
下面是修改后的代码:
- #include<iostream>
- #include<cmath>
- using namespace std;
- int main()
- {
- for(int a=100;a<=999;a++)
- {
- int b=a/100;
- int c=a/10%10;
- int d=a-100*b-10*c;
- if(a==pow(b,3)+pow(c,3)+pow(d,3))
- {
- cout<<a<<endl;
- }
- }
- return 0;
- }
复制代码
这段代码会输出所有满足水仙花数条件的数。
|
|