C趣味程序(二)(09)综合求3~6位自幂数
来源:优易学  2010-1-14 12:14:03   【优易学:中国教育考试门户网】   资料下载   IT书店
2.3.3 综合求3~6位自幂数
采用方法1)设直的求3~6位自方幂数的程序:
#include<math.h>
#include<stdio.h>
void main()
{
    int a1,a2,a3,a4,a5,a6,i,j;
    long int m3,n3,m4,n4,m5,n5,m6,n6;
    static int t[9];
    static long s[9][10];
    for(a1=1;a1<=9;a1++)
        for(a2=0;a2<=9;a2++)
            for(a3=0;a3<=9;a3++)
            {
                m3=a1*100+a2*10+a3;n3=pow(a1,3)+pow(a2,3)+pow(a3,3);
                if(m3==n3)s[3][++t[3>=m3;        /*三位水仙花数*/
                for(a4=0;a4<=9;a4++)
                {
                    m4=m3*10+a4;
                    n4=pow(a1,4)+pow(a2,4)+pow(a3,4)+pow(a4,4);
                    if(m4==n4) s[4][++t[4>=m4;        /*四位玫瑰花数*/
                    for(a5=0;a5<=9;a5++)
                    {
                        m5=m4*10+a5;
                        n5=pow(a1,5)+pow(a2,5)+pow(a3,5)+pow(a4,5)+pow(a5,5);
                        if(m5==n5) s[5][++t[5>=m5;        /*五位五角星数*/
                        for(a6=0;a6<=9;a6++)
                        {
                            m6=m5*10+a6;
                            n6=pow(a1,6)+pow(a2,6)+pow(a3,6)+pow(a4,6)+pow(a5,6)+pow(a6,6);
                            if(m6==n6) s[6][++t[6>=m6;
         }    }    }    }
        for(i=3;i<=6;i++)
        {
            printf("\n  %d位自幂数有:  ",i);
            for(j=1;j<=t[i];j++)
                printf("%ld  ",s[i][j]);
        }
  printf("\n");
}

程序运行结果如下:

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训