思路
依次比較每個位置公差的最大公約數
#include <iostream>
#include <algorithm>
using namespace std;long gcd(long a, long b){ //求兩個數最大公約數if(b == 0){return a;}return gcd(b, a % b);
}int main() {long n;cin >> n;long a[n + 10];for (long i = 0; i < n; i++) {cin >> a[i];}sort(a, a + n);long d = a[1] - a[0];if (d == 0) { //如果公差等于0cout << n;return 0;}for (long i = 2; i < n; i++) {d = gcd(a[i] - a[i - 1], d);}cout << (a[n - 1] - a[0]) / d + 1;return 0;
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态