2个回答
展开全部
实现思路:将五个小球按数字从大到小排列,使用目标数字从第一个球开始比较,
1、如果数字大于小球上的数字则取出该小球,将目标数字减去小球上的数字,如果小于则跳到下一个;
2、使用步骤1的差值作为新的目标数字重复步骤1;
3、当目标数字等于小球上的数字时,取出该小球,结束。
public class Main {
public static final int ARR[] = {16, 8, 4, 2, 1};
public static void main(String[] args) {
int t = 22;
print(t);
}
public static void print(int num) {
if (num < 1 || num > 30) {
System.out.println("参数错误");
return;
}
for (int i = 0; i < ARR.length; i++) {
if (num > ARR[i]) {
System.out.print(ARR[i] + ",");
num -= ARR[i];
} else if (num == ARR[i]) {
System.out.println(ARR[i]);
break;
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询