测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A52028. 最接近的分数

填空题 困难

题目描述

最接近的分数

题目描述

分母不超过 N 且 小于 A/B 的最大最简分数是多少?

输入

三个正整数N,A,B,相邻两个数之间用单个空格隔开。1 <= A < B < N <= 1000。

输出

两个正整数,分别是所求分数的分子和分母,中间用单个空格隔开。

样例输入

100 7 13

样例输出

50 93

参考答案

#include<cstdio> double commom(double x,double y) { double m=x,n=y,r; do { r=int(m)%int(n); m=n; n=r; } while(r!=0); return m; } int main() { double sum,a,b,n,i,A,B,max=0,p,q; scanf("%lf%lf%lf",&n,&a,&b); for(B=n; B>=1; B--) for(A=1;; A++) { if(A/B>a/b) break; if(A/B>max&&A/B<a/b) { max=A/B; p=A/commom(A,B); q=B/commom(A,B); } } printf("%g %g",p,q); return 0; }

答案解析

算法分析:枚举法

上一题 下一题