数据结构实验之链表八:Farey序列
来源:互联网 发布:二分查找算法 编辑:程序博客网 时间:2024/04/29 12:12
数据结构实验之链表八:Farey序列
Time Limit: 10MS Memory Limit: 600KB
Submit Statistic
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/44/5 5/6 1/1
Author
#include<bits/stdc++.h>using namespace std;struct node{ int a,b; node *next;};void creat(node *head,int n){ node *t,*q; t=head->next; while (t->next!=NULL) { if (t->b+t->next->b<=n) { q=new node; q->a=t->next->a+t->a; q->b=t->next->b+t->b; // t->next=q; // q->next=p; q->next=t->next; t->next=q; } t=t->next; }}void show(node *head){ node *t; t=head->next; int k=0; while (t!=NULL) { k++; if (k%10==0) cout<<t->a<<"/"<<t->b<<endl; else cout<<t->a<<"/"<<t->b<<"\t"; t=t->next; }}int main(){ ios::sync_with_stdio(false); int n; cin>>n; node *head,*p,*q; head=new node; head->next=NULL; p=new node; q=new node; p->a=0; p->b=1; q->a=1; q->b=1; head->next=p; p->next=q; q->next=NULL; for (int i=2;i<=n;i++) { creat(head,i); } show(head); return 0;}
0 0
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列 C++
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- Nokia LCD 5110 移植(基于MSP430F5529)
- hql查询小结
- UC/OS-II中的任务(二)
- Java线程总结(三):线程之间的通信wait、notify
- LeetCode 75. Sort Colors
- 数据结构实验之链表八:Farey序列
- hql查询之实体对象查询
- 基于Java的WebSocket推送
- 台式机进BIOS
- SQL条件控制(case when...then...else...end) 详细解释
- Intel汇编程序设计-整数算术指令(中)
- hql连接查询及外置命名查询
- 玩转iOS开发:集成 WeChat SDK - 支付篇
- 鬼畜题目待肝中