1. 程式人生 > >神奇的口袋的遞迴解法

神奇的口袋的遞迴解法

#include<iostream> using namespace std; int a[30];int N; int ways(int w,int k){//從前K種物品 選擇一些,湊成 體積w的做法數目  if(w==0)return 1; if(k<=0)return 0; return ways(w,k-1)+ways(w-a[k],k-1);

} int main() {cin>>N; for(int i=1;i<=N;i++) cin>>a[i]; cout<<ways(40,N); return 0;     }