本文主要是介绍第十届蓝桥B组:等差数列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
第十届蓝桥B组:等差数列
思路: 排个序,做差,求最大公因子
#include<bits/stdc++.h>
#define maxn 200005
#define INF 0x3f3f3f3f
#define mst(a) memset(a,0,sizeof a)
#define ll long long
using namespace std;
//题号:等差数列
int A[100002];
int main()
{ios::sync_with_stdio(false);int n;cin >> n;for(int i = 1; i<=n; i++){cin >> A[i];} sort(A+1,A+1+n);int mind = __gcd(A[1],A[2]) ;if(A[1] == A[2]) mind = 0;for(int i = 3; i<n; i++){mind = min(mind,__gcd(mind,A[i]) );} if(mind==0)printf("%d\n",n); else{printf("%d\n",(A[n]-A[1])/mind +1 );}return 0;
}
这篇关于第十届蓝桥B组:等差数列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!