当前位置:网站首页>信息学奥赛一本通 1966:【14NOIP普及组】比例简化 | 洛谷 P2118 [NOIP2014 普及组] 比例简化
信息学奥赛一本通 1966:【14NOIP普及组】比例简化 | 洛谷 P2118 [NOIP2014 普及组] 比例简化
2022-07-30 17:33:00 【君义_noip】
【题目链接】
ybt 1966:【14NOIP普及组】比例简化
洛谷 P2118 [NOIP2014 普及组] 比例简化
【题目考点】
1. 枚举
【解题思路】
观察L的范围,为1~100,因此可以分别枚举A’与B’的值,判断哪一组A’/B’ ≥ A/B,并找出A’/B’- A/B最小的那一组值。
对于A’与B’是否互质,可以预先判断二者的最大公约数是否为1。
这一步不做其实也可以。由于A’与B’都是从小到大遍历的,对于A’/B’比值相同的情况,一定是先遍历到A’与B’互质的情况,后遍历到二者不互质的情况。在求最小值时只需要使用’<',即可取到前面的情况而不取后面的情况。
【题解代码】
解法1:使用最大公约数函数判断二者是否互质
#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
int gcd(int a, int b)
{
if(b == 0)
return a;
return gcd(b, a%b);
}
int main()
{
int a, b, l, ri, rj;//ri,rj记录结果
double d, d1, mind = INF;//mind:最小差值
cin >> a >> b >> l;
d = (double)a/b;//A/B
for(int i = 1; i <= l; ++i)
for(int j = 1; j <= l; ++j)
{
//i:A' j:B'
if(gcd(i, j) == 1)//最大公约数为1,二者互质
{
d1 = (double)i/j;
if(d1 >= d && d1-d < mind)
{
mind = d1-d;
ri = i;
rj = j;
}
}
}
cout << ri << ' ' << rj;
return 0;
}
解法2:不判断互质
#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
int main()
{
int a, b, l, ri, rj;//ri,rj记录结果
double d, d1, mind = INF;//mind:最小差值
cin >> a >> b >> l;
d = (double)a/b;//A/B
for(int i = 1; i <= l; ++i)
for(int j = 1; j <= l; ++j)
{
//i:A' j:B'
d1 = (double)i/j;
if(d1 >= d && d1-d < mind)
{
mind = d1-d;
ri = i;
rj = j;
}
}
cout << ri << ' ' << rj;
return 0;
}
边栏推荐
- Mongoose module
- 【网络工程】A、B、C、D、E类IP地址划分依据和特殊的IP地址
- 数据库系统原理与应用教程(068)—— MySQL 练习题:操作题 90-94(十二):DML 语句练习
- X射线的应用是什么?
- JMeter笔记4 | JMeter界面介绍
- Wanhua chemical fine chemical industry innovation product assembly
- C陷阱与缺陷 第6章 预处理器
- Mongoose模块
- DLCM - 基于列表上下文信息的重排序模型
- 【Cloud Store Announcement】Notice of Help Center Update on July 30
猜你喜欢

如何让 JOIN 跑得更快?

分账系统二清解决方案如何助力电商平台合规经营?
![[MRCTF2020]Ezaudit](/img/80/d4656abdff20703591ffdc3f5a5ebc.png)
[MRCTF2020]Ezaudit

LeetCode167: Sum of two numbers in sorted array

大批程序员可能面临被劝退!

JMeter笔记3 | JMeter安装和环境说明

论文阅读之《DeepIlluminance: Contextual IlluminanceEstimation via Deep Neural Networks》

weiit新零售小程序如何探索数字化门店的破局之路

LeetCode318: Maximum product of word lengths
![(17)[系统调用]追踪系统调用(0环)](/img/d4/aa48745ac918ebfc45c07b587fa86f.png)
(17)[系统调用]追踪系统调用(0环)
随机推荐
[HarekazeCTF2019]Avatar Uploader 1
微信小程序picker滚动选择器使用详解
阿里SIM-基于检索的用户行为兴趣CTR模型(Search-based user Interest Model(SIM))
Servo System of Hydraulic Steering Gear Based on Fuzzy PID
真正懂经营管理的CIO具备哪些特质
阿里巴巴CAN:Embedding前置的特征交互新思路
测试.net文字转语音模块System.Speech
Tensorflow中实现正则化
C陷阱与缺陷 第6章 预处理器 6.1 不能忽视宏定义中的空格
数据库系统原理与应用教程(065)—— MySQL 练习题:操作题 62-70(九):分组查询与子查询
数据库系统原理与应用教程(066)—— MySQL 练习题:操作题 71-81(十):连接查询
Deep Feedback Network for Recommendation
链表Oj练习题 纯C语言
万华化学精细化工创新产品大会
大批程序员可能面临被劝退!
web服务通过用户访问请求判断设备来源
Win11如何把d盘空间分给c盘?Win11d盘分盘出来给c盘的方法
数据库系统原理与应用教程(067)—— MySQL 练习题:操作题 82-89(十一):数据的增、删、改操作
优酷视频元素内容召回系统:多级多模态引擎探索
C陷阱与缺陷 第7章 可移植性缺陷 7.4 字符是有符号数还是无符号数