比赛 20120302 评测结果 AAAAAAAAAAA
题目名称 法雷序列 最终得分 100
用户昵称 Czb。 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2012-03-02 20:59:24
显示代码纯文本
#include<stdio.h>
#include<stdlib.h>

struct aaa
{
	double x,y,z;
}a[50000];
	
int n,t;

int gcd(int a,int b)
{
	while(b^=a^=b^=a%=b);
	return a;
}

int cmp(const void *a,const void *b)
{
	return (*(aaa *)a).z>(*(aaa *)b).z?1:-1;
}

int main()
{
	freopen("frac1.in","r",stdin);
	freopen("frac1.out","w",stdout);
	int i,j;
	scanf("%d",&n);
	if(!n)
		return 0;
	printf("0/1\n");
	for(i=1;i<=n;i++)
	{
		for(j=1;j<i;j++)
		{
			if(gcd(i,j)==1)
			{
				t++;
				a[t].y=i;
				a[t].x=j;
				a[t].z=a[t].x/a[t].y;
			}
		}
	}
	qsort(a+1,t,sizeof(aaa),cmp);
	for(i=1;i<=t;i++)
	{
		printf("%.0lf/%.0lf\n",a[i].x,a[i].y);
	}
	printf("1/1\n");
	return 0;
}