流水账
看数据范围真的很重要,一开始还想模拟一下的,但是看到数据范围,果断放弃,数据范围为
(1<=a<=b<=10^{100})
简化一下题意
题目意思就是求(GCD(a+1,a+2,a+3,......b);)
其实两个连续数的GCD就是1,我们可以用辗转相除法证明一下
比如(GCD(x,y)=GCD(y, x%y))
我们另x=a,y=a+1,
则(GCD(a,a+1)=GCD(a+1,1)=1;)
证明完毕
综上
- 当a,b之间的数达到1个或超过1个时,(GCD(a,a+1,a+2,......b)=1)
- 当只有(a,b)两个数时,且(a==b),所以(GCD=a);
因为(10^{100})
所以用(string)存数
string 大法吼啊,可以直接判断两个数是否相等,
#include<bits/stdc++.h>
using namespace std;
string a,b;
int main()
{
cin>>a>>b;
if(a==b)
cout<<a<<endl;
else
cout<<1<<endl;
}