Usaco 2.1.2 顺序的分数(Ordered Fractions)

来源:互联网 发布:出租车叫车软件 编辑:程序博客网 时间:2024/06/13 16:28

题目:

 顺序的分数

来源:

 Usaco2.1.2

题目大意:

 求分子分母皆不大于N的质分数,并从小到大输出他们

数据范围:

 1<=N<=160

样例:

 5
 
 
 
 
 
 
 
 
 
 
0/1
1/5
1/4
1/3
2/5
1/2
3/5
2/3
3/4
4/5
1/1

做题思路:

 第一思路枚举,第二思路经高人言语发现规律,叫分数加成法?不清楚,就是通过  0/1,1/1为边界不断分子分母相加递归求中项,其所有解皆为质分数

知识点:

 二分、数学方法

{ID:Dount NamelessTASK:frac1LANG:PASCAL}var n:longint;procedure mid(x1,y1,x2,y2:longint);{<左右边界>}begin if(x1+x2>n)or(y1+y2>n) then exit;{<边界判断>} mid(x1,y1,x2+x1,y1+y2); writeln(x1+x2,'/',y2+y1);{<输出中项>} mid(x1+x2,y1+y2,x2,y2);end;begin assign(input,'frac1.in');reset(input); assign(output,'frac1.out');rewrite(output); readln(n); writeln('0/1'); mid(0,1,1,1); writeln('1/1'); close(input);close(output);end.
题目来源:http://ace.delos.com/usacoprob2?a=YqYGTaSaabV&S=frac1

原创粉丝点击