c++水仙花数问题怎么解决

avatar
作者
筋斗云
阅读量:0

水仙花数是指一个n位数,其各位数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

要解决C++中的水仙花数问题,可以编写一个程序来循环遍历所有可能的n位数,然后计算其各位数字的n次幂之和,最后判断是否等于原数。

以下是一个简单的C++程序示例来解决水仙花数问题:

#include <iostream> #include <cmath>  int main() {     int num, sum, temp, digit;      std::cout << "水仙花数有:\n";     for (int i = 100; i < 1000; i++) {         num = i;         sum = 0;          while (num > 0) {             digit = num % 10;             sum += pow(digit, 3);             num /= 10;         }          if (sum == i) {             std::cout << i << " ";         }     }      return 0; } 

这个程序会输出所有的3位水仙花数。您也可以根据需要调整循环的范围来查找其他位数的水仙花数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!