藍橋杯3



湊算式


     B      DEF
A + --- + ------- = 10
     C      GHI
   
  
(如果顯示有問題,可以參見【圖1.jpg】)
 

 
這個算式中A~I代表0~9的數字,不同的字母代表不同的數字。




比如:
6+8/3+952/714 就是一種解法,
5+3/1+972/486 是另一種解法。




這個算式一共有多少種解法?
#include<stdio.h>///0不要忘記 
#include<math.h>
#include<string.h>

char v[15];
int cat(int x)
{

	if(v[x]) return 1;
	v[x]=1;
	return 0; 
}

int main()
{
	int t1,t2,a,b,c,yes,ans=0;

	for(t1=100;t1<=999;t1++)
	 {
	 	for(t2=100;t2<=999;t2++)
	 	 {
	 	 	for(a=0;a<10;a++)
	 	 	{
		 	 	for(b=0;b<10;b++)
	 	 	    {
   	 	 	       for(c=0;c<10;c++)
	 	 	        {
	 	 	        	if(fabs(t1/(double)t2+b/(double)c+a-10)<0.0001)
	 	 	        	  {
	 	 	        	  	yes=0;
	 	 	        	  	
	 	 	        	  	for(int q=0;q<15;q++)
	 	 	        	  	 {
	 	 	        	  	 	v[q]=0;
	 	 	        	  	 	
								 }
	 	 	        	
	 
	 	 	        		yes=cat(t1/100)+cat(t1/10%10)+cat(t1%10)+cat(t2/100)+cat(t2/10%10)+cat(t2%10)+cat(a)+cat(b)+cat(c);
						
							if(yes==0){
							   ans++;
							   printf("%d + %d/%d + %d/%d\n",a,b,c,t1,t2);   
						}
						  }
			        }
			     }
	 	 		
			  }
			  
		  }
	 }
	 printf("%d",ans);
	
 } 






注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章