版权声明:转载请附上原文链接哟! https://blog.csdn.net/weixin_44170305/article/details/89876365
风华是一指流砂,苍老是一段年华。
题目描述
假设一堆由1分、2分、5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0)。
输入
输入数据第一行有一个正整数T,表示有T组测试数据;
接下来的T行,每行有两个数n,m,n和m的含义同上。
输出
对于每组测试数据,请输出可能的组合方式数;
每组输出占一行。
样例输入
1 5 9
样例输出
2
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#include<map>
#include<algorithm>
#include<iomanip>
#include<queue>
#include<set>
#include<stack>
using namespace std;
int main()
{
int T,m,n,num=0,i,j,k;
cin>>T;
while(T--)
{
num=0;
cin>>n>>m;
for(i=0; i<=m; i++)
{
for(j=0; j<=m/2; j++)
{
for(k=0; k<=m/5; k++)
{
if(i+j*2+k*5==m&&i+j+k==n)
num++;
}
}
}
printf("%d\n",num);
}
return 0;
}