zoukankan      html  css  js  c++  java
  • 一道数学恶心题——小凯的疑惑

    小凯的疑惑

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

    神奇传送门

    神奇的思路:

    首先看到这道题,我真的无从下手。只能想到暴力枚举。然后。。。(不堪回首的往日啊)就没有然后了。手推几个数据点,很容易发现每个答案都小于两个质数的积,然后试了下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 毁一生!!!

    完结撒花!!!

     

     

    众生,与我如浮云
  • 相关阅读:
    Sql语句中IN和exists的区别及应用
    时间戳/Date(1354116249000)/ 转换
    SqlServer不允许更改字段类型(表中已有数据)
    Firefox内存占用过高解决方法
    接口开发中的测试问题
    c# winform 窗体起始位置 设置
    【整理】C#文件操作大全(SamWang)
    C#实现JSON序列化与反序列化
    解决方案资源管理器中跟踪活动项
    C#中方法的参数的四种类型
  • 原文地址:https://www.cnblogs.com/YYCether666/p/11033887.html
Copyright © 2011-2022 走看看