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

Farey 分数

2018年05月10日 ⁄ 综合 ⁄ 共 682字 ⁄ 字号 评论关闭
#include
typedef struct Node{
int a,b;
    struct Node *next;
}Node,*linklist;
void innilist(linklist &L){
L=new Node;
L->next=NULL;
}
void insert(int a1,int b1,Node *q){//在q后面插入结点。
    Node *s=new Node;
s->a=a1;
s->b=b1;
s->next=q->next;
q->next=s;
    
}
void dislist(linklist &L){//输出L链表
Node *p1=L->next;
while(p1!=NULL){
printf("%d/%d ",p1->a,p1->b);
p1=p1->next;
}
printf("\n");
}
int main(){ 
int i,n;
Node *p,*p1;
linklist H;
while(scanf("%d",&n)!=EOF&&n){
       innilist(H);
       p=H;
insert(0,1,p);
p=p->next;
insert(1,1,p);
  p=p->next;
    
if(n>1)
for(i=2;i<=n;i++){
p=H->next;
while(p->next){
if((p->b)+(p->next->b)<=n){
insert((p->a)+(p->next->a),(p->b)+(p->next->b),p);
p=p->next;
                 }
p=p->next;
}
           }
       
      dislist(H);
}
return 0;
}

抱歉!评论已关闭.