0.1,0.2,0.3三个值都可以乘不同的倍数,目标等于1.5,提问有多少种可能?
public class Main {
private static final int MAX = 3;
private static int result = 0;
public static void main(String[] args) {
dfs(15, 1);
System.out.println(result);
}
public static void dfs(int remain, int cur) {
if (remain == cur) {
result += 1;
return;
}
if (remain < cur) {
return;
}
dfs(remain - cur, cur);
if (cur < MAX) {
dfs(remain, cur + 1);
}
}
}
写个dfs搜索一下
整数倍吗?
题目请说楚,是3个每个都达到1.5
还是3个乘完之和达到1.5
目测无数种, 我的理解是 x*0.1+y*0.2+z*0.3=1.5
求 xyz 的组合数量, 在没有限制的情况下 可以有无数种组合, 如果限制xyz
为正数, 才有唯一解, 解法将其余小伙伴的代码