寻找阿姆斯特朗数c语言程序,C程序检查阿姆斯特朗数

C程序检查阿姆斯特朗数

在此示例中,您将学习检查用户输入的整数是否是Armstrong数字。

要理解此示例,您应该了解以下C语言编程主题:

如果满足以下条件,则一个正整数称为阿姆斯特朗数(n阶),如果

abcd... = an + bn + cn + dn +

对于3位的阿姆斯特朗数,每个数字的立方数之和等于数字本身。 例如,153是Armstrong的数字,因为153 = 1*1*1 + 5*5*5 + 3*3*3

检查三位的阿姆斯特朗数#include 

int main() {

int num, originalNum, remainder, result = 0;

printf("输入一个三位数的整数: ");

scanf("%d", &num);

originalNum = num;

while (originalNum != 0) {

// 余数

remainder = originalNum % 10;

result += remainder * remainder * remainder;

//从原始数字中去除最后一位数

originalNum /= 10;

}

if (result == num)

printf("%d 是一个阿姆斯特朗数。", num);

else

printf("%d 不是一个阿姆斯特朗数。", num);

return 0;

}

输出结果输入一个三位数的整数: 371

371 是一个阿姆斯特朗数。

检查n位的阿姆斯特朗数#include 

#include 

int main() {

int num, originalNum, remainder, n = 0;

float result = 0.0;

printf("输入一个整数: ");

scanf("%d", &num);

originalNum = num;

//将num的位数存储在n中

for (originalNum = num; originalNum != 0; ++n) {

originalNum /= 10;

}

for (originalNum = num; originalNum != 0; originalNum /= 10) {

remainder = originalNum % 10;

// 存储结果中每个数字的幂的和

result += pow(remainder, n);

}

// 如果num等于result,则该数字为阿姆斯壮数字

if ((int)result == num)

printf("%d 是一个阿姆斯特朗数。", num);

else

printf("%d 不是一个阿姆斯特朗数。", num);

return 0;

}

输出结果输入一个整数: 1634

1634 是一个阿姆斯特朗数。

在此程序中,首先计算一个整数的位数,并将其存储在n中。 并且,pow()函数用于计算第二个for循环的每次迭代中各个数字的幂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值