#include<bits/stdc++.h>
using namespace std;
//两个数的最大公约数
int gcd(int x,int y){
if(x%y==0) return y;
else return gcd(x,x%y);
}
int main()
{
const int n = 1e6+10;
int N,a[n],d = 0; cin>>N;
for(int i=1;i<=N;i++) cin>>a[i];
sort(a+1,a+1+N);//默认从小到大
if(a[N-1]==a[1]){
cout<<N<<endl;
return 0;
}
for(int i=3;i<=N;i++)
{
d = gcd(a[i-1]-a[i-2], a[i] % a[i-1]);
}cout<<(a[N]-a[1])/d+1<<endl;
return 0;
}
c/c++ 基础 蓝桥杯 第九章等差数列
最新推荐文章于 2024-09-03 09:59:47 发布