顺序的分数
2017-08-17 本文已影响0人
书臆
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std ;
struct node{
int a,b;
double s;
}p[32500];
int gcd(int x,int y){
if(x%y!=0)
gcd(y,x%y);
else return y;
}
int cmp(node x,node y){
return x.s<y.s;
}
int main(){
int n,t=0;
scanf("%d",&n);
for(double i=1;i<=n;i++)
for(double j=0;j<=i;j++){
if(j==0){
if(i==1){
p[++t].a=j;
p[t].b=i;
p[t].s=j/i;
continue ;
}
else continue ;
}
if(gcd(i,j)==1){
p[++t].a=j;
p[t].b=i;
p[t].s=j/i;
}
}
sort(p+1,p+1+t,cmp);
for(int i=1;i<=t;i++)
printf("%d%c%d\n",p[i].a,'/',p[i].b);
return 0;
}