水仙花问题C/C++
打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方;
我写的是:
#include<stdio.h>
#include<math.h>
void main()
{
int i;
for(i=100;i<1000;i++)
if(i=pow(i/100,3)+pow(i%100/10,3)+pow(i%10,3))
printf("%d\n",i);
}
结果不对 ,不知道哪里错了 求解
[解决办法]
#include<stdio.h>#include<math.h>int main(){int i;for(i=100;i<1000;i++)if(i[color=#FF0000]==[/color]pow(i/100,3)+pow(i%100/10,3)+pow(i%10,3))//=改成== printf("%d\n",i); getchar(); return 0;}
[解决办法]
#include<stdio.h>
#include<math.h>
int main()
{
int i;
for(i=100;i<1000;i++)
if(i==pow(i/100,3)+pow(i%100/10,3)+pow(i%10,3)) //将=改成==
printf("%d\n",i);
getchar();
return 0;
}
[解决办法]
#include<stdio.h> void main(){ int i, a, b, c; for(i=100;i<1000;i++) { a = (i/100); b = (i%100)/100; c = (i%10)/10; if(a*a*a + b*b*b + c*c*c == i) printf("%d\n",i); }}
[解决办法]
#include <iostream>using namespace std;int main(){ int a,b,c,i; cout<<"3位数的“水仙花”为:\n"; for(i=100;i<=999;i++) { a=i/100; //百位 b=(i-a*100)/10; //十位 c=i-a*100-b*10; //个位 if(i==a*a*a+b*b*b+c*c*c) { cout<<i<<" "; } } return 0;}
[解决办法]