温馨提示×

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

c++
小亿
82
2024-03-07 19:15:32
栏目: 编程语言

水仙花数是指一个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位水仙花数。您也可以根据需要调整循环的范围来查找其他位数的水仙花数。

0