数据结构实验之链表八:Farey序列
来源:互联网 发布:不敢在淘宝上刻公章 编辑:程序博客网 时间:2024/06/12 22:49
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
#include <stdio.h>#include <stdlib.h>typedef int elemtype;typedef struct lnode{ elemtype a,b; struct lnode *next;} lnode,*linklist;void creat(linklist head,int n){ lnode *t,*p,*q; p=head->next; while(p->next) { q=p->next; //总为p的后继 if((p->b+q->b)<=n) { t=new lnode; t->a=p->a+q->a; t->b=p->b+q->b; t->next=p->next; p->next=t; } p=p->next; }}void output(linklist head){ int num=1; lnode *p; p=head->next; while(p) { if(num%10!=0) { printf("%d/%d\t",p->a,p->b); } else { printf("%d/%d\n",p->a,p->b); } p=p->next; num++; }}int main(){ int n; lnode *head,*p,*q; head=new lnode; head->next=NULL; p=new lnode; q=new lnode; p->a=0; p->b=1; q->a=1; q->b=1; head->next=p; p->next=q; q->next=NULL; scanf("%d",&n); for(int i=2; i<=n; i++) { creat(head,i); } output(head); return 0;}
阅读全文
0 0
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列 C++
- 数据结构实验之链表八:Farey序列
- 数据结构实验之链表八:Farey序列
- JAVA "Public", "Protected", "Private" and "Friendly"的区别--笔记
- [新手题]不寻常的求和 python
- Spring Boot集成官方的Modeler设计器
- (一)分布式文件系统概述
- 数据结构实验之链表九:双向链表
- 数据结构实验之链表八:Farey序列
- java 与 js 简单对比
- 深入理解NameNode和DataNode
- 20170928学习笔记:不动手写代码,不知道我有多弱鸡!
- 数据结构实验之链表五:单链表的拆分
- PSO学习日记
- Android 视频流输出
- 数据结构实验之链表六:有序链表的建立
- 垃圾收集与分配策略——(五)内存分配与回收策略