• 一道数学恶心题——小凯的疑惑


    小凯的疑惑

    本人的第二篇博客,嗷嗷嗷!二话不说,来挑战下!

    神奇传送门

    神奇的思路:

    首先看到这道题,我真的无从下手。只能想到暴力枚举。然后。。。(不堪回首的往日啊)就没有然后了。手推几个数据点,很容易发现每个答案都小于两个质数的积,然后试了下a*b-a-b,。。。成功了所以代码如下。

    神奇的题解

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

    解释

    问了某个大佬,他告诉我题目可转换为:设a,b,c是正整数,求c0的最小值能够让任意的c>c0,方程ax+by=c有负整数解;

    解出来就是c0的最小值=ab-a-b.

    证明

     因为a,b互质。可将原方程转化为a(x0+bt)+b(y0-at)=c,t为系数,方程仍然成立。考虑x的范围,首先x>=0,其次若x=0时,c0就可以无限大。x=b时,a与y可以合并,同样c0无限大。倘若x>b,可以从x中拆个b同样转化成a,y合并

    再加上一个数,c0同样可以取到无限大。所以x的取值范围为:0——b-1。所以by=c-ax>ab-a-b-ax>=ab-a-b-a(b-1)=-b,所以y>=-1。于是问题就简化到证明:c>ab-a-b都可以,而c=ab-a-b不可以。当c=ab-a-b时,ax+by=ab-

    a-b => ab=a(x+1)+b(y+1).因为a与b互质,a|(y+1),b|(x+1).所以a<=y+1,b<=x+1.

    所以ab=a(x+1)+b(y+1)>=ab+a=2ab<=0,

    方程无解,矛盾。所以c!=ab-a-b。证毕!

     

    完结撒花!!!

    学好数学很重要

    不开long long 毁一生!!!

    完结撒花!!!

     

     

    众生,与我如浮云
  • 相关阅读:
    分布式、集群的概念、区别
    Entity Framework学习
    QT入门
    Xcode插件开发
    函数指针
    c创建win窗口
    设置UITableView section间距
    使用谷歌地图时报一堆错的解决方法
    IOS地图及定位使用
    IOS判断手机型号
  • 原文地址:https://www.cnblogs.com/YYCether666/p/11033887.html
Copyright © 2020-2023  润新知