Stern-Brocot树 (生成0-1之间的所有真分数)

Stern-Brocot树是一种生成所有非负真分数的算法,由(0/1, 1/0)开始,通过不断在相邻分数间插入(m+m')/(n+n')实现。此树保证生成的每个真分数只出现一次,并且序列有序。证明包括了算法的正确性、全面性和有序性。" 136995132,9222473,SAP系统中使用屏幕变式控制字段显示与必输,"['SAP', 'ERP', '屏幕定制']
摘要由CSDN通过智能技术生成
问题描述 [1] :
给定输入N,输出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


解决方案 [2] :
这个问题有个很漂亮的解决方法,称为Stern-Brocot树,取这个名字是因为这是由德国数学家Moritz Stern和法国的修理钟表商Achille Brocot独立发现的。
先来讨论一般的情况,即生成所有的非负真分数。算法的思想是由(0/1, 1/0)开始,然后不断地重复以下的操作:在相邻的两个分数m/n和m'/n'插入(m+m')/(n+n')。


伪代码:

<span style="font-size:14px;">main:
    print(0/1);
    printOrderedFraction(0, 1, 1, 1);
    print(1/1);
printOrderedFraction(m, n, m', n'):
    if (n+n' <= N)
        printOrderedFraction(m, n, m+m', n+n');
        print(m+m'/n+n')
        printOrderedFraction(m+n', n+n', m', n');
    end if</span>



<

外语教学与研究出版社   Foreign Language Teaching and Research Press   听力是英语教学中四项基本技能之一,也是中国学生的一个难点,突破这个难关不仅有助于其他单项技能的训练,同时也为培养学生的英语交际能力奠定了一个良好的基础。在国家教委最近颁布的《高等学校英语专业基础阶段英语教学大纲》和《高等学校英语专业高年级英语教学大纲》中,对于大学一,二,三,四年级学生在听力方面应该达到的标准都作出了详细的规定。Listen to This 就是按照这两个大纲的要求,根据中国英语教学的特点而编写的一套听力教程。   整套教程共分为三册。第一册适合大学一年级学生或英语初学者使用;第二册的对象是大学二年级学生和有中等英语水平的自学者使用;第三册可供大学三,四年级学生和有较高英语水平的自学者使用。每次均含《学生用书》《Student's Book》和《教师用书》《Teacher's Book》,功能不同,相辅相成。《学生用书》以录音材料中的生词表,文化背景注释和配套的练习为主。《教师用书》则包含录音的书面材料,练习答案和相关文化背景知识的补充读物。   和国内现有的听力教程相比,Listen to This 有以下几个特点:   1.教程的第三册适合英语专业高年级学生使用,以达到教委大纲中第六级和第八级对听力的要求。   2.内容新颖,听力材料均选自80年代后期国外的有声资料。   3.录音以标准的美国音或英国音为主,声音清晰。   4.练习形式活泼。练习的设计参考了美国TOEFL考试和英国Cambridge Certificate考试的形式,并增加了是非题,填充题,听写,讲座摘记和根据笔记回答问题等多种形式。   5.《教师用书》中的补充读物均摘自英美报刊和书籍,不仅能够为教师备课提供必要的历史文化背景,也可以作为学生的课外阅读材料,以扩大学生的知识面。   以上特点不仅使该教程适合课堂教学,同时也为英语专业学生和社会各层次的英语爱好者提供了自学的良好模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值