使用 C 检查数字是否为阿姆斯特朗数
cserver side programmingprogramming
问题
如何使用 C 编程语言检查给定数字是否为阿姆斯特朗数?
解决方案
阿姆斯特朗数是等于其数字立方和的数字。
语法
pqrs………=pow(p,n)+pow(q,n)+pow(r,n)+………。
例如,153,371,1634 等都是阿姆斯特朗数。
153=1*1*1 + 5*5*5 + 3*3*3 =1+125+27 =153 (Armstrong number)
程序
#include<stdio.h> int main(){ int number,remainder,total=0,temp; printf("输入数字="); scanf("%d",&number); temp=number; while(number>0){ remainder=number%10; total=total+(remainder*remainder*remainder); number=number/10; } if(temp==total) printf("这个数字是阿姆斯特朗数"); else printf("这个数字不是阿姆斯特朗数"); return 0; }
输出
输入数字=371 这个数字是阿姆斯特朗数 检查:371=3*3*3 +7*7*7 + 1*1*1 =27 + 343 +1 =371 输入数字=53 此数字不是阿姆斯特朗数字
解释
53 = 5*5*5 + 3*3*3 =125 +27 = 152 != 53