阿姆斯特朗数

一、问题描述

阿姆斯特朗数:如果一个整数等于其各位数字立方和,,则称该数为阿姆斯特朗数也称自恋数。如: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");
}
复制代码

 

posted @   jais  阅读(242)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示