1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; int T, n, a[109], b[109]; int gcd(int x, int y) { return y == 0 ? x : gcd(y, x % y); } int main() { cin >> T; while (T --) { cin >> n; for (int i = 1; i <= n; i ++) cin >> a[i]; sort(a + 1, a + 1 + n); for (int i = 2; i <= n; i ++) b[i - 1] = a[i] - a[i - 1]; int x = b[1]; for (int i = 1; i < n; i ++) { x = gcd(x, b[i]); } int t = sqrt(x), ans = 0; for (int i = 1; i <= t; i ++) { if (x % i == 0) { ans += 2; } } if (t * t == x) { ans --; } cout << ans - 1 << endl; } return 0; }
- 1
信息
- ID
- 1033
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者