返回题解分享
讨论 / 题解分享/ 帖子详情

等差数列(编程题) - 题解

include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N];
int gcd(int a,int b)
{
    return b?gcd(b,a%b):a;
}
int main()
{
    int n,t=0;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+1+n);

    for(int i=1;i<=n;i++)
    {
        t=gcd(a[i]-a[1],t);
    }
    if(!t)
        cout<<n;
    else
        cout<<((a[n]-a[1])/t)+1;
    return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!