C语言问题

来源:互联网 发布:怪物之子知乎 编辑:程序博客网 时间:2024/06/15 11:32
 

vingt

            cinq

       +  cinq  

         trente

数字谜题的规则如下:

(1)     不同的英文字母表示不同的数字

(2)     每一个数最左边一位不是0,所以上面谜题中,v、c、t都不是0

(3)     上面的题目是加,那就表示vingt这个五位数与cinq这个四位数的两倍相加后,会得到trente这六位数,其算式如谜题中所示

试编写一个程序破解数字谜题。

 

 

 

编写的程序得不到结果???

#include <stdio.h>

int comp(int a[])

{

int flag=1;

for(int j=0;j<9;j++)

for(int m=j+1;m<9;m++)                                                                                                                 

if(a[j]==a[m])

flag=0;

if(flag)

return 1;

else return 0;

}

 

 void main()

{

int v,i,n,g,t,c,q,r,e;

  int s1=0,s2=0;

  for(v=1;v<=9;v++)

                 for(i=0;i<=9;i++)

         for(n=0;n<=9;n++)

            for(g=0;g<=9;g++)

               for(t=1;t<=9;t++)

                  for(c=1;c<=9;c ++)

                     for(q=0;q<=9;q++)

                        for(r=0;r<=9;r++)

                                                                                            {

                                                                                               e=0;

                                                                                               while(e<=9)

                                                                                               { int a[9]={v,i,n,g,t,c,q,r,e};

                                                                                                 if(comp(a))

                                                                                                             

                                                                                                                            

                                                                                                           {s1=v*10000+i*1000+n*100+g*10+t+(c*1000+i*100+n*10+q)*2;

                                                                                                               s2=t*100000+r*10000+e*1000+n*100+t*10+e;

                                                                                                                          if(s1==s2)

                                                                                                                                                                                                                                                                                        

                                                                                                                          {printf("  %d%d%d%d%d\n",v,i,n,g,t);

                                            printf("   %d%d%d%d\n",c,i,n,q);

                                            printf("+");

                                            printf("  %d%d%d%d\n",c,i,n,q);

                                            printf("--------\n");

                                            printf(" %d%d%d%d%d%d\n",t,r,e,n,t,e);

                                                                                                                           e++;

                                                                                                                          }

 

                                                                                                   else e++;

 

                                                                                                            }

                                                                                               else e++;

                                                                                             

                                                                                                           }

 

                                                                                            }

 }

原创粉丝点击