有4种面值(面值为1, 4, 12, 21)的邮票很多枚,从中最多任取5张进行组合,求邮票最大连续组合值

admin2019-03-29  89

问题 有4种面值(面值为1, 4, 12, 21)的邮票很多枚,从中最多任取5张进行组合,求邮票最大连续组合值

选项

答案#define N 5 #define M 5 int k, Found, Flag[N]; int Stamp[M] = {0, 1, 4, 12, 21}; // 在剩余张数n中组合出面值和Value int Combine(int n, int Value) { if(n >= 0 && Value == 0){ Found = 1; int Sum = 0; for(int i=0; i0; i++) if(Value-Stamp[i] >= 0){ Flag[k++] = i; Combine(n-1, Value-Stamp[i]); Flag[--k] = 0; } return Found; } int main(int argc, char* argv[]) { for(int i=1; Combine(N, i); i++, Found=0); return getchar(); }

解析
转载请注明原文地址:https://jikaoti.com/ti/jag7FFFM
0

相关试题推荐
最新回复(0)