水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 澳门今期特马开什么天罗地网 2025新澳今晚开奖资料38期 3^3=153。
下面是一个用C语言编写的程序,用于查找并打印指定范围内的所有水仙花数:
#include <stdio.h> #include <math.h> int isArmstrongNumber(int number) { int originalNumber, remainder, result = 0, n = 0; originalNumber = number; // 计算位数 while (originalNumber != 0) { originalNumber /= 10; ++n; } originalNumber = number; // 计算每个位上数字的n次幂之和 while (originalNumber != 0) { remainder = originalNumber % 10; result += pow(remainder, n); originalNumber /= 10; } // 如果结果等于原始数字,则是水仙花数 if (result == number) return 1; else return 0; } void printArmstrongNumbers(int start, int end) { printf("水仙花数列表:\\n"); for (int i = start; i <= end; ++i) { if (isArmstrongNumber(i)) { printf("%d ", i); } } } int main() { int start, end; printf("请输入范围的开始和结束数字:"); scanf("%d %d", &start, &end); printArmstrongNumbers(start, end); return 0; }
你可以运行这个程序并输入范围的开始和结束数字,它将打印出指定范围内的所有水仙花数。请注意,输入的开始和结束数字必须是正整数,并且结束数字必须大于等于开始数字。
2025年澳门精准正版免费大全