MichaelBlog

double i = Double.MAX_VALUE; while(i == i + 1){ System.out.print ("学无止境");};

导航

C++: 水仙花数

C++ :水仙花数

输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,153 = 1的3次方 + 5的3次方 + 3的3次方。

根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和,若与三位数相等则为“水仙花数”。

#include <iostream>
using namespace std;

int main(){
int num = 100;

    do {
		int a = 0;
		int b = 0;
		int c = 0;
		//先把三位数拆分成个十百
		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);
}

posted on 2022-04-16 09:48  Michael_chemic  阅读(974)  评论(0编辑  收藏  举报