第七屆藍橋杯省賽JAVA B組第3題

湊算式


     B      DEF
A + --- + ------- = 10
     C      GHI
     
(如果顯示有問題,可以參見【圖1.jpg】)
 
 
這個算式中A~I代表1~9的數字,不同的字母代表不同的數字。


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


這個算式一共有多少種解法?


注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。

答案爲:29

這道題用暴力的方法就可以了,對一到九進行全排列,然後計算一下等式是不是等於10就好了。

import java.util.Scanner;

public class Main2 {
	public static void main(String[] args){
		int a=1,b=1,c=1,d=1,e=1,f=1,g=1,h=1,i=1;
		int count=0;
		int[] flag=new int[10];
		for(int m=0;m<10;m++){
			flag[m]=-1;
		}
		for(a=1;a<=9;a++){
			if(flag[a]==-1){
			flag[a]=1;
			for(b=1;b<=9;b++){
				if(flag[b]==-1){
					flag[b]=1;
					for(c=1;c<=9;c++){
						if(flag[c]==-1){
							flag[c]=1;
							for(d=1;d<=9;d++){
								if(flag[d]==-1){
								flag[d]=1;
								for(e=1;e<=9;e++){
										if(flag[e]==-1){
											flag[e]=1;
											for(f=1;f<=9;f++){
												if(flag[f]==-1){
													flag[f]=1;
													for(g=1;g<=9;g++){
														if(flag[g]==-1){
															flag[g]=1;
															for(h=1;h<=9;h++){
																if(flag[h]==-1){
																	flag[h]=1;
																	for(i=1;i<=9;i++){
																		if(flag[i]==-1){
																			float num=(float) 1.0;
																			num=a+((float)b)/c+((float)(d*100+e*10+f))/(g*100+h*10+i);
																			if(num==10){
																				count++;
																				System.out.println(count);
																				System.out.println(a+" "+b+" "+c+" "+d+" "+e+" "+f+" "+g+" "+h+" "+i);
																			}
																		}
																		
																	}
																	flag[h]=-1;
																}
																
															}
															flag[g]=-1;
														}
														
													}
													
													flag[f]=-1;
												}
												
											}
											flag[e]=-1;
										}
										
									}
								flag[d]=-1;
								}
								
						}
						flag[c]=-1;
						
						
					}
				}
				flag[b]=-1;
				}
			}
		flag[a]=-1;
		}
		}
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章