描述
输入一个自然数N,请写一个程序来增序输出分母小于等于N的最简既约分数
格式
PROGRAM NAME: frac1
INPUT FORMAT:
(file frac1.in)
单独的一行 一个自然数N(1..160)
OUTPUT FORMAT:
(file frac1.out)
每个分数单独占一行,按照大小次序排列
SAMPLE INPUT
5
SAMPLE OUTPUT
0/1
1/5
1/4
1/3
2/5
1/2
3/5
2/3
3/4
4/5
1/1
分析:模拟“法雷数列”做法,看看法雷数列
【参考程序】:
/*
ID: XIONGNA1
PROG: frac1
LANG: C++
*/
#include<iostream>
using namespace std;
int n;
void dfs(int a,int b,int c,int d)
{
if (b+d>n) return ;
dfs(a,b,a+c,b+d);
printf("%d/%d\n",a+c,b+d);
dfs(a+c,b+d,c,d);
}
int main()
{
freopen("frac1.in","r",stdin);
freopen("frac1.out","w",stdout);
scanf("%d",&n);
printf("0/1\n");
dfs(0,1,1,1);
printf("1/1\n");
return 0;
}