阿姆斯特朗数

[复制链接]
发表于 2025-5-29 23:03:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿姆斯特朗数也就是俗称的水仙花数,是指一个n位数,其各位数字的n次方之和等于该数本身。例如,153是一个水仙花数,由于153=13+53+33。叨教100-10000所有水仙花数有哪些。
采用穷举法对范围之间的数字进行拆分,再按照阿姆斯特朗数(水仙花数)的性质计算并判断。
 
#include <stdio.h>
#include <math.h>
// 判断一个数是否为阿姆斯特朗数
int isArmstrong(int num) {
    int originalNum = num;
    int digit, sum = 0;
    int n = (int)log10(num) + 1; // 计算num的位数
   while (num > 0) {
        digit = num % 10;
        sum += (int)pow(digit, n);
        num /= 10;
    }
    return sum == originalNum;
}
int main() {
    int num;
    for(num=100;num<10000;num++)if (isArmstrong(num)) {
        printf("%d是阿姆斯特朗数\n", num);
    } 
    return 0;
}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

快速回复 返回顶部 返回列表