蓝桥杯--凑算式

/*                            凑算式

                 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);
        }  
    }  

点赞