题目描述
准备发行三种金币,面值分别为 1,3,7。为了验证这个面值设置是否合理,请你算一算:如果只用这三种面值的金币,有多少种方案可以组合出面值和 n。规定两个方案不同意味着当且仅当存在一种面值的金币使用的数量不同。
【输入格式】
一行,一个正整数n,表示金币面值总和。
【输出格式】
一行,一个整数表示所求方案数。
我的代码:
#include <iostream>
using namespace std;
int main()
{
int n, cnt = 0;
cin >> n;
for (int i = 0; i <= n / 7; i++)
{
for (int j = 0; j <= n / 3; j++)
{
for (int k = 0; k <= n; k++)
{
if (i * 7 + j * 3 + k == n)
{
cnt ++;
}
}
}
}
cout << cnt << endl;
return 0;
}
怎么办?