题目描述
凑算式
思路分析
通分
代码实现
package com.atguigu.TEST;class Main{static int a[]={1,2,3,4,5,6,7,8,9};static int ans;public static boolean check(){int x=a[3]*100+a[4]*10+a[5];int y=a[6]*100+a[7]*10+a[8];if((a[1]*y+a[2]*x)%(y*a[2])==0&&a[0]+(a[1]*y+a[2]*x)/(y*a[2])==10)return true;return false;}public static void f(int k){if(k==9){//一种排列已经生成if(check())ans++;}//从k往后每个数字都可以放在k位for (int i = k; i < 9; i++) {int temp=a[i];a[i]=a[k];a[k]=temp;f(k+1);temp=a[i];a[i]=a[k];a[k]=temp;}}public static void main(String[] args) {f(0);System.out.println(ans);}
}
答案
29