C 语言中的阿姆斯特朗数程序
阿姆斯特朗数等于其各个数字的立方和。例如,153 是一个阿姆斯特朗数,因为 −
153 = (1)3 + (5)3 + (3)3 153 = 1 + 125 + 27 153 = 153
算法
此程序的算法非常简单 −
开始 步骤 1 → 取整数变量 Arms 步骤 2 → 为变量赋值 步骤 3 → 拆分 Arms 的所有数字 步骤 4 →找到每个数字的立方值 步骤 5 → 将所有立方值相加 步骤 6 → 将输出保存到 Sum 变量 步骤 7 → 如果 Sum 等于 Arms 则打印 Armstrong Number 步骤 8 → 如果 Sum 不等于 Arms 则打印 Not Armstrong Number 停止
伪代码
我们可以为上述算法绘制伪代码,如下所示 −
procedure armstrong : number
check = number
rem = 0
WHILE check IS NOT 0
rem ← check modulo 10
sum ← sum + (rem)3
divide check by 10
END WHILE
IF sum equals to number
PRINT armstrong
ELSE
PRINT not an armstrong
END IF
end procedure
实现
该算法的实现如下。您可以更改 arms 变量的值并执行并检查您的程序 −
#include <stdio.h>
int main() {
int arms = 153;
int check, rem, sum = 0;
check = arms;
while(check != 0) {
rem = check % 10;
sum = sum + (rem * rem * rem);
check = check / 10;
}
if(sum == arms)
printf("%d is an armstrong number.", arms);
else
printf("%d is not an armstrong number.", arms);
return 0;
}
输出
程序的输出应为 −
153 is an armstrong number.
mathematical_programs_in_c.html

