NOIP2014 比例简化

 

 

#include<stdio.h>
#define UP(a,b,c) for(int a=(b);a<=(c);a++)
int GCD(int a,int b){if(b==0)return a; else return GCD(b,a%b);}
int main(){
    int a,b,L,c,d;
    double ab,mn=1e8;
    scanf("%d%d%d",&a,&b,&L); ab=1.0*a/b;
    UP(i,1,L)UP(j,1,L)
        if(GCD(i,j)==1 && 1.0*i/j>=ab && 1.0*i/j-ab<mn){mn=1.0*i/j-ab; c=i; d=j;}
    printf("%d %d\n",c,d);
    return 0;
}

  

 

 

#include<stdio.h>
int GCD(int a,int b){if(b==0)return a; else return GCD(b,a%b);}
int main(){
    int a,b,L,i,j,c,d;
    double ab,mn=1e8;
    scanf("%d%d%d",&a,&b,&L); ab=1.0*a/b;
    for(i=1;i<=L;i++)
        for(j=1;j<=L;j++)
            if(GCD(i,j)==1)
                if(1.0*i/j>=ab && 1.0*i/j-ab<mn){mn=1.0*i/j-ab; c=i; d=j;}
    printf("%d %d\n",c,d);
    return 0;
}

  

posted @ 2016-11-04 00:51  qilinart  阅读(281)  评论(0编辑  收藏  举报