4 solutions
-
0
网上搜了一下题解 发现了一个巧妙的 用了数论 拓展欧几里得定理
自然数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