洛谷 P3951 NOIP 2017 小凯的疑惑

题目描述

小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有 无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小 凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在 小凯无法准确支付的商品。

输入格式

两个正整数 \(a\) 和 \(b\),它们之间用一个空格隔开,表示小凯中金币的面值。

输出格式

一个正整数 \(N\),表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。

输入输出样例

输入 #1

3 7

输出 #1

11

说明/提示

【输入输出样例 1 说明】

小凯手中有面值为\(3\)和\(7\)的金币无数个,在不找零的前提下无法准确支付价值为\(2,4,5,8,11\) 的物品,其中最贵的物品价值为 \(11\),比\(11\) 贵的物品都能买到,比如:

\(12 = 3 \times 4 + 7 \times 0\)

\(13 = 3 \times 2 + 7 \times 1\)

\(14 = 3 \times 0 + 7 \times 2\)

\(15 = 3 \times 5 + 7 \times 0\)

【数据范围与约定】

对于 \(30\%\)的数据: \(1 \le a,b \le 50\)

对于 \(60\%\)的数据: \(1 \le a,b \le 10^4\)

对于\(100\%\)的数据:\(1 \le a,b \le 10^9\)

分析

我们不妨设 \(a<b\),答案为\(x\)

如果\(x\)可以被\(a\)和\(b\)表示出来的话,那么就有

\(x=ma+nb(m \geq 0,n \geq 0)\)

但是\(x\)不能表达成上面的式子,我们要使\(x\)最大,因为\(a<b\),所以令\(n=-1\)

而且\(ma\)不能被\(b\)整除,否则\(b\)又会多出一个因子

因此\(m_{max}=b-1\)

所以\(x=a(b-1)-b=ab-a-b\)

当\(a > b\)时推出的式子完全相同,因此最终的答案为

\(ab-a-b\)

代码

#include<cstdio>
int main(){
long long a,b;
scanf("%lld%lld",&a,&b);
printf("%lld\n",a*b-a-b);
return 0;
}

洛谷 P3951 NOIP 2017 小凯的疑惑的更多相关文章

  1. 题解【洛谷P3951】[NOIP2017]小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...

  2. NOIP 2017 小凯的疑惑

    # NOIP 2017 小凯的疑惑 思路 a,b 互质 求最大不能表示出来的数k 则k与 a,b 互质 这里有一个结论:(网上有证明)不过我是打表找的规律 若 x,y(设x<y) 互质 则 : ...

  3. NOIP 2017 小凯的疑惑(同余类)

    题意 给出两个互质的数a,b问最大的不能被xa+yb(x,y>=0)表示的数.(a,b<=109) 题解 NOIPday1T1一道数论题,不知埋葬了多少人的梦想. 用同余类去解释. 我们依 ...

  4. 洛谷 P3960 [ NOIP 2017 ] 列队 —— 线段树

    题目:https://www.luogu.org/problemnew/show/P3960 NOIP 题,不用很复杂的数据结构...但又参考了许多: 要求支持维护删除第 k 个和在末尾插入的数据结构 ...

  5. 洛谷 P2822 [ NOIP 2017 ] 组合数问题 —— 数学

    题目:https://www.luogu.org/problemnew/show/P2822 阶乘太大,算不了: 但 k 只有 8 个质因子嘛,暴力60分: #include<iostream& ...

  6. 洛谷 P3953 [ NOIP 2017 ] 逛公园 —— 最短路DP

    题目:https://www.luogu.org/problemnew/show/P3953 主要是看题解...还是觉得好难想啊... dfs DP,剩余容量的损耗是边权减去两点最短路差值...表示对 ...

  7. NOIp D1T1 小凯的疑惑

    吐槽 果然让人很疑惑,这道题,对于我这种数学渣渣来说太不友好了,哪里想得到结论,猜也猜不到. 思路一 纯数学,见过的飞快切掉,没见过的就... 结论就是:已知$a,b$为大于$ 1 $的互质的正整数, ...

  8. 2017提高组D1T1 洛谷P3951 小凯的疑惑

    洛谷P3951 小凯的疑惑 原题 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想 ...

  9. 洛谷 P3951 小凯的疑惑 找规律

    目录 题面 题目链接 题目描述 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例: 输出样例: 说明 思路 证明 AC代码 include<bits/stdc++.h> 题面 ...

随机推荐

  1. 判断js中数组是否包含某值

    可以用数组的includes函数判断数组中是否存在某个值.

  2. pandas_使用属性接口实现高级功能

    C:\Users\lenovo\Desktop\总结\Python\超市营业额.xlsx 这个文档自己创建就可以,以下几篇文章仅作为参考 import pandas as pd import copy ...

  3. PHP 变量讲解

    PHP 变量 变量是用于存储信息的"容器": 实例 <?php $x=5; $y=6; $z=$x+$y; echo $z; ?> 运行实例 » 与代数类似 x=5y= ...

  4. 初学编程丨从零开始学习编程的基本路线,BAT程序员亲手总结!

    编程并不是说代码怎么写,框架怎么用,业务怎么转换为代码逻辑,这些都不是编程的要素(但却是工作的刚需......).我认为按照下面这个路线来学习编程,会使自己在学习的路途上少去很多问题(比如为啥会有多线 ...

  5. python数据可视化编程实战PDF高清电子书

    点击获取提取码:3l5m 内容简介 <Python数据可视化编程实战>是一本使用Python实现数据可视化编程的实战指南,介绍了如何使用Python最流行的库,通过60余种方法创建美观的数 ...

  6. day13. 迭代器与高阶函数

    一.迭代器 """ 能被next调用,并不断返回下一个值的对象,叫做迭代器(对象) 概念: 迭代器指的是迭代取值的工具,迭代是一个重复的过程,每次重复都是基于上一次的结果 ...

  7. 使用ajax发送的请求实现页面跳转

    ajax 本身是不适用于页面跳转的: 可以借助其他方法实现: 1,window.location.href = "/home"; 2,springMVC 返回的modelAndVi ...

  8. 使用docker安装nginx并配置端口转发

    使用docker安装并运行nginx命令: docker run --name=nginx -p 80:80 -d docker.io/nginx 使用命令: docker exec -it ngin ...

  9. Python入门看这些,最详细学习书籍推荐

    随着人工智能以及脚本开发火热,Python已经被推上一个非常火热的巅峰! 那么,想要学习Python却又不知道从哪里开始的朋友,看这里呀~ Python在整个编程语言来说,是比较容易上手,而且“见效” ...

  10. 关于Linux目录访问函数总结

    Linux下目录访问函数总结,主要是涉及到的函数,以及所在头文件. 获得工作目录: #include   <unistd.h>   char   *getcwd(char   *buf,s ...