AT_abc333_g.[ABC333G] Nearest Fraction
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个小于 1 的正实数 r 和一个正整数 N。
请你在所有满足 0≤p≤q≤N 且 gcd(p,q)=1 的整数对 (p,q) 中,找到使 ∣r−qp∣ 最小的那一组 (p,q)。
如果存在多个这样的 (p,q),请输出 qp 最小的那一组。
输入格式
输入以以下格式从标准输入给出。
r N
输出格式
请输出满足题目条件的 (p,q),以空格分隔,按顺序输出 p 和 q。
输入输出样例
输入#1
0.333 33
输出#1
1 3
输入#2
0.45 5
输出#2
2 5
输入#3
0.314159265358979323 10000
输出#3
71 226
输入#4
0.007735339533561113 7203576162
输出#4
34928144 4515398949
说明/提示
限制条件
- 0<r<1
- r 以十进制小数形式给出,小数点后最多 18 位。
- 1≤N≤1010
- N 是整数
样例解释 1
0.333−31=30001。不存在满足 0.333−qp<30001 且 0≤p≤q≤33,gcd(p,q)=1 的 (p,q),因此应输出 1 3。
样例解释 2
0.45−21=0.45−52=201。不存在满足 0.45−qp<201 且 0≤p≤q≤5,gcd(p,q)=1 的 (p,q),且 21>52,因此应输出 2 5。
样例解释 3
0.314159265358979323−22671=1130000000000000000003014435336501。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?