我是靠谱客的博主 忧伤香菇,最近开发中收集的这篇文章主要介绍洛谷 P3951 小凯的疑惑(赛瓦维斯特定理),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目 :P3951 小凯的疑惑 :https://www.luogu.org/problemnew/show/P3951


题目描述

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

输入输出格式

输入格式:

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

输出格式:

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

输入输出样例

输入样例#1:
3 7
输出样例#1:
11

说明

【输入输出样例 1 说明】

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

12=3×4+7×012 = 3 times 4 + 7 times 012=3×4+7×0

13=3×2+7×113 = 3 times 2 + 7 times 113=3×2+7×1

14=3×0+7×214 = 3 times 0 + 7 times 214=3×0+7×2

15=3×5+7×015 = 3 times 5 + 7 times 0 15=3×5+7×0

【数据范围与约定】

对于 30%30%30%的数据: 1≤a,b≤501 le a,b le 50 1a,b50。

对于 60%60%60%的数据: 1≤a,b≤1041 le a,b le 10^4 1a,b104。

对于100% 100%100%的数据:1≤a,b≤1091 le a,b le 10^9 1a,b109。


相关博客:https://www.cnblogs.com/xxzh/p/9178564.html 

     https://www.cnblogs.com/jefflyy/p/7819858.html

这道题是一道有关数论的题。

针对于这种类型的题,我们总结有一般规律:

  !!遇到数学问题就打表找规律!!

对于该题我们发现C=ab-a-b。

 

在这里,我们已知 :

  赛瓦维斯特定理 :已知 a,b为大于1的正整数,gcd(a,b)=1,则使不定方程 ax+by=C无负数解的最大整数C=ab-a-b。

 

所以,我们可以轻松得出 :

 1 //
 2 #include <iostream>
 3 #include <cstdio>
 4 #include <cctype>
 5 #include <cstring>
 6 #include <cmath>
 7 #include <algorithm>
 8 using namespace std;
 9 typedef unsigned long long ll;
10 #define ri register ll
11
12 ll a,b;
13
14 signed main()
15 {
16
ios::sync_with_stdio(0),cin.tie(0);
17
cin>>a>>b;
18
cout<<a*b-a-b<<'n';
19
return 0;
20 }
21 //

 

转载于:https://www.cnblogs.com/leprechaun-kdl/p/11100524.html

最后

以上就是忧伤香菇为你收集整理的洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)的全部内容,希望文章能够帮你解决洛谷 P3951 小凯的疑惑(赛瓦维斯特定理)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部