CCabbage


私信TA

用户名:CCabbage

访问量:942

签 名:

等  级
排  名 14011
经  验 843
参赛次数 0
文章发表 3
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

地宫取宝 -- DP
浏览:38
前缀和思想
浏览:97

解题思路:

直接上公式了:输入 a,b
买不到的最大数目就是 a*b-a-b;

借鉴了一下一位大佬的解释,尝试理解吧

用题目中给出的7和4来举例,当一个数k<7时,只能用4,除了4其他的都无法组成;

当7<k<14时,k%4=3时都会有解,假设此时有x=k/4,则4*x+3=k,即4*(x-1)+7=k;

当14<k<21时,k%4=3有解,k%3=2有解,同样道理,4*(x-3)+2*7=k;

当k>21时,就是所有的数都可以组成了,因为4的余数已经用完了。

那么此时不能组成的最大数是只能k%4=1的数,为17.

原文链接:https://blog.csdn.net/qq_41505957/article/details/104263068


注意事项:

输入的两个数互质就行,比如两个偶数,那就没有最大了,任意一个足够大的奇数就是;


参考代码:

#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cin>>a>>b;
    cout<<(a*b-a-b);
    return 0;
}


 

0.0分

8 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

666
2022-10-16 09:49:44
  • «
  • 1
  • »