阿姆斯特朗号码(Armstrong Number)
优质
小牛编辑
130浏览
2023-12-01
阿姆斯特朗号码是一个等于其各个数字的立方总和的数字。 例如,153是一个阿姆斯特朗号 -
153 = (1)<sup>3</sup> + (5)<sup>3</sup> + (3)<sup>3</sup>
153 = 1 + 125 + 27
153 = 153
算法 (Algorithm)
这个程序的算法很简单 -
START
Step 1 → Take integer variable Arms
Step 2 → Assign value to the variable
Step 3 → Split all digits of Arms
Step 4 → Find cube-value of each digits
Step 5 → Add all cube-values together
Step 6 → Save the output to Sum variable
Step 7 → If <u>Sum equals to Arms</u> print <i>Armstrong Number</i>
Step 8 → If <u>Sum not equals to Arms</u> print <i>Not Armstrong Number</i>
STOP
伪代码 (Pseudocode)
我们可以按如下方式起草上述算法的伪代码 -
procedure armstrong : number
check = number
rem = 0
WHILE check IS NOT 0
rem ← check modulo 10
sum ← sum + (rem)<sup>3</sup>
divide check by 10
END WHILE
IF sum equals to number
PRINT armstrong
ELSE
PRINT not an armstrong
END IF
end procedure
实现 (Implementation)
下面给出该算法的实现。 您可以更改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;
}
输出 (Output)
该方案的产出应该是 -
153 is an armstrong number.