87.钱组合数 (15分)
C时间限制:3 毫秒 | C内存限制:3000 Kb
题目内容:
给你足够多的1,2,5面值的钱币,输入一个钱数n,设计一个程序使能够计算出所有的组合!
输入描述
钱数N
输出描述
所有的组合数的个数
输入样例
20
输出样例
29
思路:没有想太多直接递归
#include<iostream>
#include<stdio.h>
using namespace std;
long long er(long long n)
{
if(n>=2)return er(n-2)+1;
else return 1;
}
long long wu(long long n)
{
long long ans=0;
if(n>=5)return wu(n-5)+er(n-2)+1;
else if(n>=2)return er(n-2)+1;
else return 1;
}
int main()
{
long long n;
cin>>n;
cout<<wu(n);
return 0;
}