打印所有的水仙花数

水仙花数是指一个 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  就是所有的水仙花数了。

posted @ 2013-04-25 21:03  千手宇智波  阅读(399)  评论(0编辑  收藏  举报