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

阿姆斯特朗数

时间:2023-05-12 19:13:16浏览次数:39  
标签:10 int 几位数 printf 阿姆斯特朗 水仙花

自然语言解决问题:“阿姆斯特朗数”与上例中的“水仙花数”的不同在于,前者并没有规定几位数,从两者的定义来看“水仙花数”可以看做是“阿姆斯特朗数”的一个子集。对于这类问题的算法与“水仙花数”类似,即需要把每一位分离出来,然后比较其立方和与原数是否相等

流程图:

 

具体代码:

#include <stdio.h>
int main(){

int i,t,k,a[3]={0};
printf("There are following 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])

printf("%d ",i);
}
printf("\n");
}

标签:10,int,几位数,printf,阿姆斯特朗,水仙花
From: https://www.cnblogs.com/Mini-Q/p/17396083.html

相关文章

  • 阿姆斯特朗数
    一问题描述  一个数的各个位数的立方和为它本身。在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;......
  • 阿姆斯特朗数
    一、问题描述:  二、设计思路:  三、程序流程图: nc  四、代码实现......
  • 阿姆斯特朗数
    1.问题描述如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。例如1^3+5^3+3^3=153试编程求1000以内的所有阿姆斯特朗数2.问题分析其实和水仙花数一样,只需要把每个位置的数分离出来,然后算一下立方和,如果等于原数,就可以输出3.算法设计先搞一个数组,......
  • C语言:水仙花数:阿姆斯特朗数 也就是俗称的 水仙花数 ,是指一个三位数,其各位数字的立方和
    #include<stdio.h>main(){inta,b,c,i;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++)if(a*a*a+b*b*b+c*c*c==a*100+b*10+c)printf(......