每相邻的两项的差的最大公约数 == d
参考代码:
#include<bits/stdc++.h> using namespace std; int n; long long a[100005]; long long b[100005]; long gcd(long x,long y) { if(y > x){ int t = x; x = y; y = t; } while(x % y != 0){ int z = x % y; x = y; y = z; } return y; } int main(){ cin>>n; for(int i = 0; i < n; i++){ cin>>a[i]; } sort(a, a + n); if(a[1] - a[0] == 0){//当公差为0时 cout<<n; return 0; } long y = gcd(a[1] - a[0], a[2] - a[1]); for(int i = 3; i < n; i++){ y = gcd(y, a[i] - a[i - 1]); } cout<<(a[n - 1] - a[0]) / y + 1; return 0; }
0.0分
0 人评分
C二级辅导-计负均正 (C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:589 |
九宫重排 (C++代码)浏览:2194 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1555 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:611 |
大神老白 (C语言代码)浏览:690 |
【排队买票】 (C语言代码)浏览:944 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:710 |
1011题解浏览:819 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:566 |