水仙花数是指一个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年澳门精准正版免费大全
更新日期: 2025年05月05日
文章链接: https://fzjwsw.com/post/7115.html