今天无意中发现的一个很优美的递归
先上题吧:输入两个最简分数a/b,c/d,求出所有分母<=n的介于两个分数之间的最简分数,保证a/b<c/d;
比如输入a=1,b=2,c=2,d=3,n=10
输入
5/9
4/7
3/5
5/8
比如输入a=1,b=2,c=2,d=3,n=10
输入
5/9
4/7
3/5
5/8
[ 本帖最后由 czz5242199 于 2012-12-18 21:58 编辑 ]
void print(int a, int b, int c, int d, int n) { if (b + d > n) return; print(a, b, a+c, b+d, n); printf("%d/%d\n", a+c, b+d); print(a+c, b+d, c, d, n); } 然后外部调用print(0,1,1,1,n)即可输出答案