现在的位置: 首页 > 综合 > 正文

法雷数列

2013年12月09日 ⁄ 综合 ⁄ 共 810字 ⁄ 字号 评论关闭

http://topic.csdn.net/u/20090530/19/912d79b3-f9d0-44d7-8bf5-2dc60be0a197.html

 



考虑在0和1之间的所有分母不大于N的最简分数,下面是N=5时的情况: 0/1,  1/5, 1/4 ,1/3 ,2/5 ,1/2 ,3/5, 2/3, 3/4 ,4/5, 1/1 .总共有11个分数。写出一个程序对于给定的整数N(1 <=N <=100),按从小到大的顺序打印出这些分数。还要打印出它们的总数。在每个分数后面打印出3个空格,使它们在显示的时候一行不会很长。
要求:当N <1或N>100时,程序应判错。
运行举例:
Please input the N?
5
0/1  1/5  1/4  1/3  2/5  1/2  3/5  2/3  3/4  4/5  1/1
There were 11 fractions.

 


这个序列叫法雷序列。


 

Farey Sequence 的构造
法雷数列的构造可采用2分法,即如果 a/b, c/d (a/b <c/d)是一个n级法雷数列中的两个元素,且b+d <=n,  则可以在a/b, c/d 中间插入一个分数 (a+b)/(c+d)。下面以5级法雷数列为例,给出详细的过程。

step1: 准备两个数 0/1, 1/1 作为整个法雷数列的第一个元素和最后一个元素
  0/1, 1/1
step2: 在两个数中间插入1个数1/2, 变为
  0/1, 1/2, 1/1
step3: 在每对相邻两个数中间插入1个数,变为
  0/1, 1/3, 1/2, 2/3, 1/1
step4: 在每对相邻两个数中间插入1个数,变为
  0/1, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 1/1
step5: 0/1 和 1/4 之间 和3/4和 1/1 仍然可插入1个数,使得插入的数分母不大于5
  0/1, 1/5, 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 1/1
至此,该序列包含了所有分母不大于5的最简真分数,且各个分数以递增顺序排列。

抱歉!评论已关闭.