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