C++:水仙花

#include<iostream>
using namespace std;

//水仙花
int main() {
    
    
	int num = 100;
	do {
    
    
		int a = 0;
		int b = 0;
		int c = 0;
		//获取个位、十位、百位
		/**例: 个位 = 153 % 10 = 3
					百位=153/10=15%10=5
					百位=153/100=1
					3*3*3+5*5*5+1*1*1=153
			**/

		a = num % 10;					//个位
		b = num / 10 % 10;			//十位
		c = num / 100;					//百位
		// 如果个位、十位、百位的各三次方相加等于原数,则是水仙花数
		if (a * a * a + b * b * b + c * c * c == num)
		{
    
    
			cout << num << endl;
		}
		num++;
	} while (num < 1000);
}

猜你喜欢

转载自blog.csdn.net/Alan_King79/article/details/124946143