6个A...搞了4个小时..汗!!!!!!!!!

来源:互联网 发布:html中嵌入java 编辑:程序博客网 时间:2024/04/30 14:21

在下面两个加法算式中,每个数字都代表0~9的一个数字,而且不同的字母代表不同的数字
AAA+BBB+CCC=FGHI
AAA+DDD+EEE=FGHI
请问A代表哪一个数字?

 

#include<stdio.h>
void testnum(int a[5],int num[10],int n,int i)    /*递归判断*/
{
 
int j;
 
if(i==5)
 {
  
if((a[1]+a[2]==a[3]+a[4])&&(a[0]+a[1]+a[2]==n))
   {
    
for(j=0;j<5;j++)
     printf(
"%4d",a[j]);
    printf(
" ");
   }
 }
 
else
  {
   
for(j=0;j<10;j++)
    
if(num[j]!=-1)
     {
      a[i
++]=j;
      num[j]
=-1;
      testnum(a,num,n,i);
      num[j]
=j;
      i
--;
     }
  }
}
void main()
{
 
int n,result,flag,wei,num[10];
 
int a[5],i,j;
 clrscr();
 i
=0;
 printf(
" a   b   c   d   e   f ");
 
for(n=10;n<=27;n++)
 {
  
for(j=0;j<10;j++)
   num[j]
=j;
  flag
=1;
  result
=n*111;
  
do{
   wei
=result%10;
   
if(num[wei]==-1)    /*若当前位已存在就退出当前循环*/
    {
     flag
=0;
     
break;
    }
   
else
    num[wei]
=-1;   /*不存在时修改容器中已使用数为-1*/
   result
/=10;
  }
while(result);    /*取最终结果的每位,并检查*/
  
if(flag)
   {
    i
=0;
    
for(j=0;j<5;j++)
     a[j]
=0;
    printf(
" ");
    testnum(a,num,n,i);
   }
 }
}

 

 

 

原创粉丝点击