问题描述
小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
输入格式
输入文件名为math.in。
输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。
输出格式
输出文件名为math.out。
输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
输入输出样例1
math.in
3 7
math.out
11
输入输出样例1说明
小凯手中有面值为3和7的金币无数个,在不找零的前提下无法准确支付价值为1、2、4、5、8、11 的物品,其中最贵的物品价值为 11,比 11 贵的物品都能买到,比如:
$12 = 3 × 4 + 7 × 0$
$13 = 3 × 2 + 7 × 1$
$14 = 3 × 0 + 7 × 2$
$15 = 3 × 5 + 7 × 0$
……
数据规模与约定
对于 30%的数据: $1 ≤ a,b ≤ 50$。
对于 60%的数据: $1 ≤ a,b ≤ 10,000$。
对于 100%的数据:$1 ≤ a,b ≤ 1,000,000,000$。
感慨
洛谷的公式显示好奇怪,题面复制过来显示不对
退役后第一次noip,我只能旁观,然后靠洛谷群、uoj群、cv群获取一些最新动态以及题目……
快四个月了吧,现在的水平退化到只能做做这种背结论(雾)的题了。
证明?我不会……
这篇博文纯属有感而发,纪念一下退役后的第一个noip。
解题思路
洛谷群里kkksc03给的链接——
https://www.zhihu.com/question/41809896/answer/129891487?utm_source=qq&utm_medium=social
百度到的比较好的解释——
http://www.cnblogs.com/jefflyy/p/7819858.html
源代码 //这种好像没有粘的必要啊
#include<stdio.h> int main() { unsigned long long a,b; scanf("%llu%llu",&a,&b); printf("%llu",a*b-a-b); return 0; }