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); }
12345678910111213141516171819202122