水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如:153=1^3+5^3+3^3。

以下是一个C++程序,用于检查一个数是否是水仙花数:

#include <iostream>
#include <cmath>
using namespace std;

int main() {
    int num, originalNum, remainder, n = 0, result = 0;

    cout << "请输入一个正整数:";
    cin >> num;

    originalNum = num;

    // 计算数字位数
    while (originalNum != 0) {
        originalNum /= 10;
        ++n;
    }

    originalNum = num;

    // 计算每个位上的数字的n次幂之和
    while (originalNum != 0) {
        remainder = originalNum % 10;
        result += pow(remainder, n);
        originalNum /= 10;
    }

    // 检查是否为水仙花数
    if (result == num)
        cout << num << " 是水仙花数。";
    else
        cout << num << " 不是水仙花数。";

    return 0;
}

运行程序并输入一个正整数,程序将输出该数是否是水仙花数。


原文地址: http://www.cveoy.top/t/topic/thn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录