类别:定向加速 / 日期: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++标准库中的头文件中的函数来进行幂运算。