1025:统计硬币分数: 10
标签
题目描述
假设一堆由1分、2分、5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0)。
输入格式
输入数据第一行有一个正整数T,表示有T组测试数据。接下来的T行,每行有两个数n,m,n和m的含义同上。
输出
对于每组测试数据,请输出可能的组合方式数,每组输出占一行。
样例输入
2
3 5
4 8
样例输出
1
2
<pre name="code" class="plain">#include<stdio.h>
int main(){
int T,n,m,num=0,a,b,c;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&m);
for(c=0;c<=m/5;c++){
for(b=0;(b*2+c*5)<=m;b++){ //这里需要 (b*2+c*5)<=m,不然会多算
if((n-c-b+2*b+5*c)==m)
num++;
}
}//嵌套循环一般用来求这种统计符合条件个总情况数的题目
printf("%d\n",num);
num=0;
}
}