数据结构实验之链表八:Farey序列

Problem Description

Farey序列是一个这样的序列:其第一级序列定义为(0/1,1/1),这一序列扩展到第二级形成序列(0/1,1/2,1/1),扩展到第三极形成序列(0/1,1/3,1/2,2/3,1/1),扩展到第四级则形成序列(0/1,1/4,1/3,1/2,2/3,3/4,1/1)。以后在每一级n,如果上一级的任何两个相邻分数a/c与b/d满足(c+d)<=n,就将一个新的分数(a+b)/(c+d)插入在两个分数之间。对于给定的n值,依次输出其第n级序列所包含的每一个分数。

Input

输入一个整数n(0<n<=100)

Output

依次输出第n级序列所包含的每一个分数,每行输出10个分数,同一行的两个相邻分数间隔一个制表符的距离。

Example Input

6

Example Output

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

4/5 5/6 1/1

#include <iostream> #include<bits/stdc++.h> using namespace std; struct node { int data1; int data2; node *next; }; node *head,*tail,*p,*q; void chushihua(node *head) { p=new node; p->next=NULL; p->data1=0; p->data2=1; tail->next=p; tail=p; p=new node; p->next=NULL; p->data1=1; p->data2=1; tail->next=p; tail=p; } node * insert(node *head,int n) { p=head->next; tail=p->next; while(p) { if(tail==NULL) break;     if((p->data2+tail->data2)<=n) { q=new node; q->data1=p->data1+tail->data1; q->data2=p->data2+tail->data2; q->next=p->next; p->next=q; tail=q; } else { p=p->next; tail=tail->next; } } return head; } void print(node *head) { int k=1; p=head->next; int count=0; while(p) { if(k) k=0; else cout<<"\t"; count++; // printf("%d/%d",p->data1,p->data2); cout<<p->data1<<"/"<<p->data2; p=p->next; if(count==10) { count=0; cout<<endl; k=1; } } if(count!=10) cout<<endl; } int main() { int n; while(cin>>n) { head=new node; head->next=NULL; tail=head; chushihua(head); if(n==1) print(head); else { insert(head,n); print(head); } } return 0; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c# MEF框架(一 MEF简介及简单的Demo)

转自&#xff1a;http://www.cnblogs.com/yunfeifei/p/3922668.html 在文章开始之前&#xff0c;首先简单介绍一下什么是MEF&#xff0c;MEF,全称Managed Extensibility Framework&#xff08;托管可扩展框架&#xff09;。单从名字我们不难发现&#xff1a;MEF是专门致力于解决…

c# MEF框架(二 MEF的导出(Export)和导入(Import))

转自&#xff1a;http://www.cnblogs.com/yunfeifei/p/3922891.html 上一篇学习完了MEF的基础知识&#xff0c;编写了一个简单的DEMO&#xff0c;接下来接着上篇的内容继续学习&#xff0c;如果没有看过上一篇的内容&#xff0c; 请阅读&#xff1a;http://www.cnblogs.com/yun…

c# MEF框架(三 导出类的方法和属性)

转自&#xff1a;http://www.cnblogs.com/yunfeifei/p/3927663.html 前面说完了导入和导出的几种方法&#xff0c;如果大家细心的话会注意到前面我们导出的都是类&#xff0c;那么方法和属性能不能导出呢&#xff1f;&#xff1f;&#xff1f;答案是肯定的&#xff0c;下面就来…

从mysql取出数据封装成json中遇到特殊字符自动转成unicode解决方案

Testpublic void xxx() throws ParseException, UnsupportedEncodingException, Exception {ArrayList<JSONObject> list new ArrayList<>();String s "家电偷工减料、服装质量差……还相信“电商定制产品”更实惠";JSONObject json new JSONObject()…

c# MEF框架(四 见证奇迹的时刻之实战应用)

转自 http://www.cnblogs.com/yunfeifei/p/3940075.html 前面三篇讲了MEF的基础和基本到导入导出方法&#xff0c;下面就是见证MEF真正魅力所在的时刻。如果没有看过前面的文章&#xff0c;请到我的博客首页查看。 前面我们都是在一个项目中写了一个类来测试的&#xff0c;但实…

c# MEF框架(四 MEF高级进阶)

转自&#xff1a;http://www.cnblogs.com/yunfeifei/p/3991330.html 好久没有写博客了&#xff0c;今天抽空继续写MEF系列的文章。有园友提出这种系列的文章要做个目录&#xff0c;看起来方便&#xff0c;所以就抽空做了一个&#xff0c;放到每篇文章的最后。 前面四篇讲了MEF的…

网络爬虫-获取网页中的数据加伪装头,伪装成浏览器多次访问,避免单次访问导致ip被封

User-Agent&#xff1a;用户代理。是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。UA字符串在每次浏览器 HTTP 请求时发送到服务器 Referer&#xff1a;HTTP Referer是header的一部分&#xff0c…

Unity3D求向量间的夹角

如下图 Vector3 srcPos new Vector3(0,0,0);Vector3 tarPos new Vector3(0,0,-1);Vector3 srcRot new Vector3(0,90,0);Quaternion srcQua Quaternion.Euler(srcRot);Vector3 direction tarPos - srcPos;Vector3 r Quaternion.Inverse(srcQua) * direction;Debug.Log(r);…

ActiveMQ学习

ActiveMQ: 1.设置ActiveMQ的账户密码、端口号信息 2.建立连接 3.设置消息存放位置(持久化存储jdbc、临时存储等等) 4.建立生产者 5.发送消息 6.接收者进行安全认证&#xff0c;写入账户密码、端口号信息 7.接收消息

Libevent源码分析

http://blog.csdn.net/column/details/libevent-src.html?&page2

面向切面编程--AOP

转自:https://www.cnblogs.com/qicosmos/archive/2013/04/07/3003480.html &#xff08;原创&#xff09; C 轻量级AOP框架 c11 boost技术交流群&#xff1a;296561497&#xff0c;欢迎大家来交流技术。 c中开源的AOP框架AspectC需要单独编译才能将切面的代码织入到核心逻辑代码…

IQ超过250

Problem Description 李华是一个十分聪明的同学&#xff0c;据说他的智商高达250多&#xff0c;但是今天他竟然被一道题给卡住了&#xff0c;是什么题呢&#xff1f;题目内容为&#xff1a; 给你n个数&#xff0c;然后让你判断能否用这n个数中的一些数,使他们的和组成所有的非负…

9个基于Java的搜索引擎框架

9个基于Java的搜索引擎框架 转自&#xff1a;http://blog.csdn.net/xiaomin1991222/article/details/50980573 1、Java 全文搜索引擎框架 Lucene 毫无疑问&#xff0c;Lucene是目前最受欢迎的Java全文搜索框架&#xff0c;准确地说&#xff0c;它是一个全文检索引擎的架构&a…

面向切面编程--AOP(二)

转自&#xff1a;http://www.cnblogs.com/qicosmos/p/3154174.html (原创)c11改进我们的模式之改进代理模式&#xff0c;实现通用的AOP框架 c11 boost技术交流群&#xff1a;296561497&#xff0c;欢迎大家来交流技术。 本次要讲的时候如何改进代理模式&#xff0c;具体来说是动…

TimesIsMoney

Problem Description 给你一个序列&#xff0c;有N个整数&#xff08;int以内&#xff09;&#xff0c;判断一个数在这个序列中出现几次。 Input 多组输入&#xff0c;输入到文件结尾 首先输入一个n&#xff0c;然后输入n个整数。 在输入一个m&#xff0c;代表查询的个数 &…

redis参考优秀文章

文章地址 写的很详细&#xff0c;做个记录

VS2013常用快捷键设置

Visual Studio 2013 是一个基本完整的开发工具集&#xff0c;它包括了整个软件生命周期中所需要的大部分工具&#xff0c;如UML工具、代码管控工具、集成开发环境(IDE)等等。VS 2013 中新增了很多提高开发人员工作效率的新功能&#xff0c;比如自动补全方括号、使用快捷键移动整…

多次访问redis造成redis连接总是断开的解决方案

之前做了一个新闻推荐项目用到redis&#xff0c;当把项目发布到线上去测试的时候&#xff0c;用两个redis(线上服务采用LVS负载均衡&#xff0c;两个可以切换)的时候发现开始跑的时候没有问题&#xff0c;但是过一段时间当用户访问量特别大的时候有一个redis总断开连接的问题&a…

USB Flash Drives

Description Sean is trying to save a large file to a USB flash drive. He has n USB flash drives with capacities equal to a1, a2, ..., an megabytes. The file size is equal to m megabytes. Find the minimum number of USB flash drives needed to write Seans …