C++ 代码
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=100010;
int a[N],d[N];
int n;
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
int d=0;//任何除0外的数与0的最大公约数为其本身
for(int i=2;i<=n;i++)
{
d=gcd(d,a[i]-a[1]);
}
if(!d)
{
cout<<n<<endl;
}
else
{
cout<<(a[n]-a[1])/d+1<<endl;
}
return 0;
}