梦花也梦你


私信TA

用户名:15030162093

访问量:34

签 名:

等  级
排  名 1216
经  验 1775
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include <stdio.h>

#include <string.h>

#include <math.h>



int main()

{

    int a,b,c,d,e;

    int a1,b1,c1,d1,e1;

    int x[100]={0},y=0;

    int m[100];

    for(int i=1;i<100000;i++)

    {

        a=i%10;

        b=(i/10)%10;

        c=(i/100)%10;

        d=(i/1000)%10;

        e=(i/10000)%10;

        if((a==0)&&(b==0)&&(c==0)&&(d==0)&&(e==0)) a1=0;

        else a1=1;

        if((b==0)&&(c==0)&&(d==0)&&(e==0)) b1=0;

        else b1=1;

        if((c==0)&&(d==0)&&(e==0)) c1=0;

        else c1=1;

        if((d==0)&&(e==0)) d1=0;

        else d1=1;

        if(e==0) e1=0;

        else e1=1;

        for(int j=1;j<=a;j++)

            a1=a1*j;

        for(int j=1;j<=b;j++)

            b1=b1*j;

        for(int j=1;j<=c;j++)

            c1=c1*j;

        for(int j=1;j<=d;j++)

            d1=d1*j;

        for(int j=1;j<=e;j++)

            e1=e1*j;

        if(i==a1+b1+c1+d1+e1)

            {

                x[y]=i;

                y++;

            }

    }

   /* for(int i=0;i<y;i++)

        printf("%d ",x[i]);

        printf("\n");*/

    for(int i=0;i<y;i++)

    {

        a=x[i]%10;

        b=(x[i]/10)%10;

        c=(x[i]/100)%10;

        d=(x[i]/1000)%10;

        e=(x[i]/10000)%10;

        if((b==0)&&(c==0)&&(d==0)&&(e==0))

            m[i]=a;

        else if((c==0)&&(d==0)&&(e==0))

            m[i]=b;

        else if((d==0)&&(e==0))

            m[i]=c;

        else if(e==0)

            m[i]=d;

        else if(e!=0)

            m[i]=e;

    }

    /*for(int i=0;i<y;i++)

        printf("%d ",m[i]);

        printf("\n");*/

    for(int i=0;i<y;i++)

    {

        for(int j=i+1;j<y;j++)

            if(m[j]<m[i])

        {

            int t=x[i];

            x[i]=x[j];

            x[j]=t;

        }

    }

    for(int i=0;i<y;i++)

        printf("%d ",x[i]);

    return 0;

}


 

0.0分

0 人评分

  评论区