一、问题描述
阿姆斯特朗数:如果一个整数等于其各位数字立方和,,则称该数为阿姆斯特朗数也称自恋数。如:407=4×4×4 + 7×7×7。求1000内所有的阿姆斯特朗数。
二、设计思路
① 分离出个位数,算术表达式为:j=i%10。
② 分离出十位数,算术表达式为:k=i/10%10。
③ 分离出百位数,算术表达式为:n=i/100。
④ 判断条件是否成立。若是,执行步骤 ⑤;若不是,执行步骤 ⑥。
⑤ 打印输出结果。
⑥ i 自增 1。
⑦ 转到 ① 执行,直到 i 等于 1000。
其判断的条件为:j*j*j+k*k*k+n*n*n==i。
三 、程序流程图
四、代码实现
#include<stdio.h> main() { int i,k,t,a[3]={0}; printf("There are fo;;owing Armstrong number smaller than 1000:\n"); for(i=2;i<1000;i++) { t=0; k=i; while(k) { a[t]=k%10; k=k/10; t++; } if(i==a[0]*a[0]*a[0]+a[1]*a[1]*a[1]+a[2]*a[2]*a[2]) primtf("%d ",i); } printf("\n"); }
标签:10,算术,分离,阿姆斯特朗,表达式,1000 From: https://www.cnblogs.com/jais/p/17433146.html