usaco training Ordered Fractions

来源:互联网 发布:淘宝优惠券winppo 编辑:程序博客网 时间:2024/06/05 18:29

Description

输入一个自然数N
请写一个程序来增序输出分母小于等于N 的既约真分数

Input

单独的一行 一个自然数N(1..160)

Output

每个分数单独占一行

Sample Input

5

Sample Output

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



#include<stdio.h>int x[15001],y[15001],z=1e9,idx;int gcd(int x,int y){while(y){z=x%y;x=y;y=z;}return x;}int main(){int n,i,j,v;scanf("%d",&n);printf("0/1\n");for(i=1;i<=n;i++)for(j=1;j<i;j++){if(gcd(i,j)==1)x[++idx]=j,y[idx]=i;}for(i=1;i<=idx;i++)for(j=1;j<i;j++){if(x[i]*y[j]<x[j]*y[i]){v=x[i],x[i]=x[j],x[j]=v;v=y[j],y[j]=y[i],y[i]=v;}}for(i=1;i<=idx;i++)printf("%d/%d\n",x[i],y[i]);printf("1/1");}


原创粉丝点击