1. 程式人生 > >藍橋杯--湊算式

藍橋杯--湊算式

/*                            湊算式

                 B      DEF
            A + --- + ------- = 10
                 C      GHI




            這個算式中A~I代表1~9的數字,不同的字母代表不同的數字。(比賽時,題目有改動)

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

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

            注意:你提交應該是個整數,不要填寫任何多餘的內容或說明性文字。
*/
public class Main1 {  
	 static int n=0;
	 	public static void exchange(int a[],int k){
	 		if(k==a.length-1){
	 			test(a);
	 			return;
	 		}
        	for(int i=k;i<a.length;i++){
        		int temp=a[k];
        		a[k]=a[i];
        		a[i]=temp;
        		exchange(a,k+1);
        		temp=a[k];
        		a[k]=a[i];
        		a[i]=temp;
        		
            }  
	 	}
	 	public static void test(int a[]){

	 		if(a[0]+a[1]*1.0/a[2]+(a[3]*100+a[4]*10+a[5])*1.0/(a[6]*100+a[7]*10+a[8])==10){
	 			n++;
	 		}
	 	}
        public static void main(String[] args) {  
        	int[]a={1,2,3,4,5,6,7,8,9};
        	exchange(a, 0);
        	System.out.println(n);
        }  
    }