阿姆斯特朗数
一、问题描述
阿姆斯特朗数:如果一个整数等于其各位数字立方和,,则称该数为阿姆斯特朗数也称自恋数。如: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"); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?