对于两个数 x 、 y x、y x、y,如果 x x x mod m m m ≡ y y y mod m m m,则有 ( y ? x y - x y?x) ≡ 0 (mod m m m),则 m m m 是 (y - x) 的因数,所有因数的最大公约数非 1 则是一种方案
void solve()
{
int n; cin >> n;
vector<int> a(n + 1);
for (int i = 1; i <= n; i++) cin >> a[i];
ll cnt = 0;
for (int k = 1; k <= n; k++) {
if (n % k == 0) {
int g = 0;
for (int i = 1; i + k <= n; i++) {
g = gcd(g, abs(a[i + k]- a[i]));
}
cnt += (g != 1);
}
}
cout << cnt << endl;
}