4 solutions

  • 0
    @ 2022-3-16 21:59:52

    网上搜了一下题解 发现了一个巧妙的 用了数论 拓展欧几里得定理

    自然数a,b互质,则不能表示成ax+by(x,y为非负整数)的最大整数是ab-a-b. 证明: a或者b是1的情况下容易证明. 以下情况都是a>1且b>1的情况. 首先证明ab-a-b不能表示成ax+by 假设ab-a-b=ax+by,那么ab=am+bn (m,n都大于等于1) 左边是a的倍数,右边am是a的倍数,那么要求bn也要是a的倍数 b不是a的倍数,只能要求n是a的倍数,这样的话,bn=bn’a>=ba 那么am=ab-bn<=0就与am>1矛盾.

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

    Information

    ID
    1588
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    3
    Tags
    # Submissions
    43
    Accepted
    25
    Uploaded By