正文

数字迷通解程序2007-03-29 08:35:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzfy/24369.html

分享到:

#include <stdio.h>
#include <conio.h>

int main()
{
    int n1,n2,n3,n[11]={9,8,7,6,5,4,3,2,1,0,0},ns=0;
    while(n[10]==0)
    {
        if(n[9]<=1) //这部分按你题目需要修改
        { //现在的代码计算的是a+bc+def=ghij
            n1=n[2]*10+n[1];n2=n[5]*100+n[4]*10+n[3];
            n3=n[9]*1000+n[8]*100+n[7]*10+n[6];
            if(n[0]+n1+n2==n3)ns++,printf("%d + %d + %03d = %04d\n",n[0],n1,n2,n3);
        }else break; //这里n[9]>1不可能再有解
        n1=0;n[n1]++;
        while(n1>=0)
        {
            if(n1==10)break;
            if(n[n1]>9){n[n1]=0;n[++n1]++;continue;}
            for(n2=n1+1;n2<10;n2++)if(n[n1]==n[n2])break;
            if(n2>9)if(n1==0)break;else n1--;else n[n1]++;
        }
    }
    printf("共%d个解\n\n",ns);
    getch();return 0;
}

阅读(3427) | 评论(5)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册