2014NOIP普及组真题 2. 比例简化

线上OJ:

一本通:http://ybt.ssoier.cn:8088/problem_show.php?pid=1966

核心思想:

1、本题的约束条件有四个

1.1 A′ 和 B′ 均不大于 L
1.2 A′ 和 B′ 互质
1.3 A′B′ ≥ AB
1.4 A′B′ − AB 的值尽可能小

2、仔细观察数据范围,发现A 和 B的范围很大,但是 L 的范围非常小,只有1-100。所以只需 将 A’ 和B’ 直接在 L 内枚举 即可
3、有两个常用公式要记住:

int gcd(int a, int b) {return b ? gcd(b, a%b): a;} // 最大公约数
int lcm(int a, int b) {return a / gcd(a, b) * b;} // 最小公倍数

4、int / int 依然为 int 。 如需使 其结果为 double, 需先*1.0(如 ab1 = a * 1.0/ b),这样编译器会自动将式子按照double来计算。 或者都先强制转换为double,如:ab1 = (double)a / (double)b

题解代码:
#include <bits/stdc++.h>
using namespace std;

int gcd(int a, int b) {return b ? gcd(b, a%b): a;}
int lcm(int a, int b) {return a / gcd(a, b) * b;}

int a, b, l, ans1, ans2;
double ab1, ab2, mi = 1000000.0;

int main()
{
    scanf("%d%d%d", &a, &b, &l);
    ab1 = a * 1.0/ b;
    
    for(int i = 1; i <= l; i++)
        for(int j = 1; j <= l; j++)
        {
            if(gcd(i,j) == 1)
            {
                ab2 = i * 1.0 / j;
                if( (ab2 >= ab1) && ((ab2 - ab1) < mi ) )
                {
                    mi = ab2 - ab1;
                    ans1 = i;
                    ans2 = j;
                }
            }
        }

    cout << ans1 << ' ' << ans2 << endl;
    return 0;
}

相关推荐

  1. 2014NOIP普及 2. 比例简化

    2024-04-26 10:36:01       13 阅读
  2. 2017NOIP普及 2. 图书管理员

    2024-04-26 10:36:01       16 阅读
  3. 2015NOIP普及 2. 扫雷游戏

    2024-04-26 10:36:01       12 阅读
  4. 2012NOIP普及 2. 寻宝

    2024-04-26 10:36:01       12 阅读
  5. 2011NOIP普及 2. 统计单词数

    2024-04-26 10:36:01       14 阅读
  6. 2014NOIP普及 1. 珠心算测验

    2024-04-26 10:36:01       15 阅读
  7. 2008NOIP普及 2. 排座椅

    2024-04-26 10:36:01       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-26 10:36:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-26 10:36:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-26 10:36:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-26 10:36:01       20 阅读

热门阅读

  1. 采用状态转移矩阵方式的快速哈夫曼解码算法

    2024-04-26 10:36:01       14 阅读
  2. 【QT进阶】Qt线程与并发之QtConcurrent的简单介绍

    2024-04-26 10:36:01       15 阅读
  3. DDD领域驱动的核心概念

    2024-04-26 10:36:01       12 阅读
  4. 制作 m 束花所需的最少天数

    2024-04-26 10:36:01       12 阅读
  5. 【C语言】求一个数的所有质数因子并排序

    2024-04-26 10:36:01       13 阅读
  6. 【Nginx】Nginx 最新社区稳定版-1.26.0-发布

    2024-04-26 10:36:01       12 阅读
  7. 离开A页面时,取消A页面的axios接口数据请求

    2024-04-26 10:36:01       14 阅读
  8. Python和C++音调音符规划和算法

    2024-04-26 10:36:01       32 阅读
  9. 力扣795.区间子数组个数 | 树状数组解法

    2024-04-26 10:36:01       12 阅读
  10. 磨损对输送带安全的影响

    2024-04-26 10:36:01       33 阅读