比赛 |
20120302 |
评测结果 |
AAAAAAAAAAA |
题目名称 |
法雷序列 |
最终得分 |
100 |
用户昵称 |
Yeehok |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2012-03-02 20:13:04 |
显示代码纯文本
#include<cstdio>
using namespace std;
struct node
{
int mom;
int son;
node()
{
mom=0;
son=0;
}
}num[40000];
int n,top=-1;
int gcd(int a,int b)
{
while(b^=a^=b^=a%=b);
return (a);
}
int main()
{
freopen("frac1.in","r",stdin);
freopen("frac1.out","w",stdout);
scanf("%d",&n);
if(!n)
return (0);
printf("0/1\n");
for(int i=2;i<=n;i++)
{
for(int j=1;j<i;j++)
{
if(gcd(i,j)==1)
{
num[++top].mom=i;
num[top].son=j;
}
}
}
double Max=10;
int p=0;
for(int j=0;j<=top;j++)
{
for(int i=0;i<=top;i++)
{
double tmp=double(num[i].son)/double(num[i].mom);
if(tmp<Max)
{
Max=tmp;
p=i;
}
}
Max=10;
printf("%d/%d\n",num[p].son,num[p].mom);
num[p].son=num[p].mom=1;
}
printf("1/1\n");
return (0);
}