本文共 539 字,大约阅读时间需要 1 分钟。
本题采用递归思想:
①物品n个,物品体积逐一放入a[
100
]中
②递归函数count(i,sum)=count(i+
1
,sum-a[i])+count(i+
1
,sum);
其中,i为第i个物品,sum代表剩余空缺体积数
count(i+
1
,sum-a[i]) 代表从第i+
1
个物品开始,剩余体积数为sum-a[i]的方案数
(隐含:已经将a[i]的体积计算进去,即包含a[i]的体积)
count(i+
1
,sum) 代表从第i+
1
个物品开始,剩余体积数为sum的方案数
(隐含:不将a[i]的体积计算进去,即不包含a[i]的体积)
这类题其实是让我困扰的。
一方面,使用递归,几行代码就可以解决
但另一方面,我想不通为啥要这样递归,为啥这样做就对了。
import java.util.Scanner;public class Main{ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a[]=new int[n]; for(int i=0;i
转载地址:http://vjssi.baihongyu.com/