马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
阿姆斯特朗数也就是俗称的水仙花数,是指一个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企服之家,中国第一个企服评测及商务社交产业平台。
|