解题思路:

直接上公式了:输入 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.0分

8 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论