1 条题解
-
0
思路
同余转化为两差的公因数,再求最小大于1因数;三数相等单独处理。按题面规定的输入输出协议处理;数据、边界和算法核验记录保存在本批教师资料。
参考程序(C++11)
#include <bits/stdc++.h> using namespace std; long long gcdll(long long a,long long b){while(b){long long t=a%b;a=b;b=t;}return a;} int main(){ios::sync_with_stdio(false);cin.tie(nullptr);const int p=1080; long long a,b,c;cin>>a>>b>>c;long long g=gcdll(abs(a-b),abs(b-c));if(g==0)cout<<2;else{long long ans=g;for(long long d=2;d*d<=g;d++)if(g%d==0){ans=d;break;}cout<<ans;} cout<<"\n";return 0;}
- 1