079.阿姆斯特朗数

Posted 程序员编程指南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了079.阿姆斯特朗数相关的知识,希望对你有一定的参考价值。

#include<stdio.h>
#define MAX 255
void main()

    int i,j,t,k,m,a[MAX];
    long n;
    clrscr();
    puts("     This program will find the Armstrong number.\\n");
    printf(" >> Please input the range you want to find (2~n):\\n >> ");
    scanf("%ld",&n);
    m=n;
    j=10;
    while(m>=10)
    
	m=m/10;
	j*=10;
    
    printf(" >> There are follwing Armstrong number smaller than %d:\\n",n);
    for(i=2;i<n;i++)         /*穷举要判定的数i的取值范围2~1000*/
    
	for(t=0,k=10;k<=j;t++)     /*截取整数i的各位(从高向低位)*/
        
	    a[t]=(i%k)/(k/10);        /*分别赋于a[0]~a[2*/
	    k*=10;
	
	for(m=0,t--;t>=0;t--)
		m+=a[t]*a[t]*a[t];
	if(m==i)
                                       /*判断i是否为阿姆斯特朗数*/
            printf("%5d",i);            /*若满足条件,则输出*/

    
    printf("\\n Press any key to quit...\\n");
    getch();

以上是关于079.阿姆斯特朗数的主要内容,如果未能解决你的问题,请参考以下文章

阿姆斯特朗数

水仙花算法(阿姆斯特朗数)

python实现三位的水仙花数(阿姆斯特朗数)

锦囊10-阿姆斯特朗数

Python实现阿姆斯特朗数

阿姆斯特朗数