题目描述
在一个国家仅有1分,2分,3分硬币,将N分钱兑换成硬币有很多种兑法。请你编程序计算出共有多少种兑法。
输入
每行只有一个正整数N,N小于32768。
输出
对应每个输入,输出兑换方法数。
样例输入
1
2
3
6
10
样例输出
1
2
3
7
14
代码
int main(){
int n;
while(cin>>n){
int i, sum = 0;
for (i = 0; i<= (n/3); i++){ // n/3: 表示能够取多少个3分的,这里i从取零个3分开始计算
sum += (n - 3*i) / 2 + 1; // 去掉i个3分之后,剩下的是2分和1分;除2得2分方法,1分只有一种方法
}
cout << sum << endl;
}
return 0;
}