将100换成1元,5元,10元的零钱有多少种换法?
怎么编这个程序将100换成1元,5元,10元的零钱有多少种换法?
#include <stdio.h> int foo(int n, int cur) { if(n == 0) return 1; int arr[] = { 1, 5, 10 }; int count = 0; for(int i = cur; i < sizeof arr/sizeof *arr; ++i) { if(n >= arr[i]) { count += foo(n - arr[i], i); } } return count; } int main(int argc, char *argv[]) { printf("%d\n", foo(100, 0)); return 0; }计算结果是 121