类别:定向加速 / 日期:2025-04-08 / 浏览:3 / 评论:0

当一个n位数等于它的每个位上的数字的n次幂之和时,我们称其为水仙花数。例如,153是一个水仙花数,因为13 + 53 + 33=153。

下面是使用C++编写的输出水仙花数的示例代码:

#include <iostream>
#include <cmath>

bool isArmstrongNumber(int number) {
    int originalNumber = number;
    int numDigits = 0;
    int sum = 0;

    // 计算数字的位数
    while (originalNumber != 0) {
        originalNumber /= 10;
        numDigits++;
    }

    // 计算每个位上的数字的n次幂之和
香港图库黑白版图    originalNumber = number;
    while (originalNumber != 0) {
        int digit = originalNumber % 10;
        sum += pow(digit, numDigits);
        originalNumber /= 10;
    }

    // 检查是否是水仙花数
    return (sum == number);
}

int main() {
    int start, end;

    std::cout << "请输入要查找的范围的起始数: ";
    std::cin >> start;

    std::cout << "请输入要查找的范围的结束数: ";
    std::cin >> end;

  &香港今晚六给大家:一彩开奖nbsp; std::cout << "水仙花数列表: ";

    for (int number = start; number <= end; ++number) {
        if (isArmstrongNumber(number)) {
            std::cout << number << " ";
        }
    }

    std::cout << std::endl;

    return 0;
}

这段代码首先定义了一个名为的函数,用于检查一个数字是否是水仙花数。该函数接受一个整数作为输入,并返回一个布尔值,指示该数字是否是水仙花数。在该函数中,我们使用循环计算了输入数字的位数,并计算了每个位上的数字的n次幂之和。最后,我们将这个和与原始数字进行比较,如果它们相等,则该数字是水仙花数。

在函数中,我们首先获取用户输入的要查找的范围的起始数和结束数。然后,我们使用一个循环遍历该范围内的每个数字,并调用函数来检查每个数字是否是水仙花数。如果是水仙花数,二四六香港资料期期准我们就将其输出到屏幕上。

请注意,该代码假定用户输入的起始数小于或等于结束数,并且输入的数字都是正整数。此外,代码中使用了C++标准库中的头文件中的函数来进行幂运算。


打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

您好,欢迎到访网站!
  查看权限

标签列表

友情链接