打印所有的水仙花数
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
实现代码:
/*打印所有的水仙花数*/ #include<iostream> using namespace std; int main(){ int i,a[3]; int san(int x); cout<<"所有的水仙花数:"<<endl; for(i=100;i<1000;i++){ //注意这里求十位、百位、个位的做法 a[0]=i/100; a[1]=i/10%10; a[2]=i%10; if(i==san(a[0])+san(a[1])+san(a[2]))cout<<i<<'\t'; } cout<<endl; return 0; } int san(int x){ return (x*x*x); }
153 370 371 407 就是所有的水仙花数了。