分,五分硬币(每种至少一枚),有多少种换法

如题所述

用vb做,用一张一元票换1分、2分和5分的硬币,每种至少一枚, 问有哪几种换法(各几枚)
#include<iostream>using namespace std;#define LEN 3 int a[] = {1, 2, 5};int remain(int i){ int total = 0; for(int j=LEN-1;j>i;j--) total += a[j]; return total;}long dfs(int total, int i){ if(i>=3){ if(total==0) return 1; return 0; } long res = 0; for(int num=1;total-a[i]*num>=remain(i);++num){ res += dfs(total-num*a[i], i+1); } return res;}int main(){ printf("%ld\n", dfs(100, 0)); }
答案是461种。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答