首页 > 其他分享 >阿姆斯特朗数

阿姆斯特朗数

时间:2023-05-25 22:23:06浏览次数:20  
标签:10 算术 分离 阿姆斯特朗 表达式 1000

一、问题描述

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

相关文章

  • 阿姆斯特朗数
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<math.h>main(){ intm[10],n,i,t,a,k; for(n=2;n<=1000;n++) //穷举n的取值范围* { t=0; a=n; k=0; for(i=0;a!=0;i++) //从低到高分解数a的每一位存于数组m { m[i]......
  • 27.阿姆斯特朗数
      #include<stdio.h>intmain(){inti,m,k,n;for(n=1;n<=1000;++n)//开始循环{k=n;//初始化m=0;while(k>0)//开始分解,求各个位数阶乘之和。{i=k%10;......
  • 3.6 阿姆斯特朗数
    第一部曲:通过枚举循环,求出每个数对应的每一位数字,判断是否满足阿姆斯特朗数,如果满足就输出,不满足继续循环第二部曲: 第三部曲:for(i=2;i<1000;i++){ k=i; intj=0; while(k) { a[j]=k%10;//存数字 k=k/10; j++; } if(i==a[0]*a[0]*a[0]+......
  • 3.6 阿姆斯特朗数
    #includestdio.h>intmain(){inti,t,k,a[3]-{0};printf("TherearefollowingArmstrongnumbersmallerthan1000;\n");/*求出小于1000的阿姆斯特朗数*/for(i-2;i<1000;i++)t=0;k=i;/*按从低位到高位的顺序拆分数*/while(k){a[t]=k号10;k-k/10;t++;if(i=-a[0]*......
  • 3.6阿姆斯特朗数
    1.问题描述如果一个整数等于其各个数字的立方和,则该数称为“阿姆斯特朗数”(亦称为自恋性数)。如153=13+13+3就是一个“阿姆斯特朗数”。试编程求1000以内的所有“阿姆斯特朗数”。2.代码#include<stdio.h>#include<math.h>intmain(){for(inti=100;i<1000;i++){s1=i/......
  • 阿姆斯特朗数
    如果一个整数等于其各个数字的立方和,则该数称为“阿姆斯特朗数”(亦称为自恋性数)。如153=1^3+5^3+3^3就是一个“阿姆斯特朗数”。试编程求1000以内的所有“阿姆斯特朗数”。阿姆斯特朗数不同于水仙花数是求所有满足一个整数等于各个数字的立方和的数,而求1000以下的阿姆斯特朗数我......
  • day 26 阿姆斯特朗数
     1.用数组储存数M;2.循环遍历,找到所有的M;3.输出M #include<iostream>usingnamespacestd;intg(intnum){intflag=0;inta[10];intsum=0;intNum=num;for(;num>0;flag++){a[flag]=num%10;sum+=a[flag]*a[flag]*a[flag];......
  • 阿姆斯特朗数
    自然语言解决问题:“阿姆斯特朗数”与上例中的“水仙花数”的不同在于,前者并没有规定几位数,从两者的定义来看“水仙花数”可以看做是“阿姆斯特朗数”的一个子集。对于这类问题的算法与“水仙花数”类似,即需要把每一位分离出来,然后比较其立方和与原数是否相等流程图: 具体代码:......
  • 阿姆斯特朗数
    一问题描述  一个数的各个位数的立方和为它本身。在1000内二设计思路 从0-1000遍历,让每个数的各位三次方相加,判断和是否等于原数。三程序流程图四伪代码实现#include<bits/stdc++.h.>usingnamespacestd;intmain(){ intx=0; for(inti=0;i<1000;i++) { intt=i; ......
  • 阿姆斯特朗数
    一问题描述一个数的各个位数的立方和为它本身。在1000内二设计思路先求出数的位数再通过情况进行对各个位数的求出。三程序流程图 四伪代码实现#include<iostream>usingnamespacestd;intmain(){ intx,y,z,i; for(x=0;x<1000;x++){ y=x; for(i=1;i<=4;i++){ y=y/10;......