湊算式(全排列)
阿新 • • 發佈:2019-01-28
A+B/C+DEF/GHI=10
public class Main {
static int count =0;
public static void ls(int[] a,int start,int end){
if(start==end){
double x1=a[0];
double x2=(a[1]*1.0/a[2]); //一定不能用int型 否則得到結果會自動取整!!!答案會出錯都在分子上*1.0就不會有錯
double x3=(a[3]*100+a[4]*10+a[5])*1.0/(a[6]*100+a[7]*10+a[8]);
if(x1+x2+x3==10){
count++;
}
}
else{
for(int i=start;i<=end;i++){
int temp=a[i];
a[i]=a[start];
a[start]=temp;
ls(a,start+1,end);
temp=a[i];
a[i]=a[start];
a[start]=temp;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={1,2,3,4,5,6,7,8,9};
ls(a,0,a.length-1);
System.out.println(count);
}
}