#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;
}
正文
数字迷通解程序2007-03-29 08:35:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/yzfy/24369.html
阅读(3414) | 评论(5)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论