求一些硬币共有多少种可能的组合方式,在给定金额的时候,如何利用C程序的语言的编写?

Problem Description
假设一堆由1分、2分、5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0)。

Input
输入数据第一行有一个正整数T,表示有T组测试数据;
接下来的T行,每行有两个数n,m,n和m的含义同上。

Output
对于每组测试数据,请输出可能的组合方式数;
每组输出占一行。

Sample Input
2
3 5
4 8

Sample Output
1
2

这个应该使用递归解决,从后向前考虑。

用C语言的for循环来实现
或者递归