Professional Documents
Culture Documents
Solution Cdsubseg
Solution Cdsubseg
2
1 𝑘𝑘+1 2 𝑘2𝑘+1 𝑛
k 𝑎𝑖 k k ≤𝑘
𝐺𝐶𝐷= 𝑓 [ 𝑖 ]
𝐺𝐶𝐷=𝑔 [ 𝑖 ]
Hà m Check():
Chia dãy thà nh cá c “khú c” độ dà i , riêng khú c cuố i độ dà i có thể .
Chỉ số là chỉ số đứ ng đầ u khú c nếu
Chỉ số là chỉ số đứ ng cuố i khú c nếu
Vớ i mỗ i chỉ số , tính:
là củ a cá c phầ n tử từ đầ u khú c tớ i vị trí .
là củ a cá c phầ n tử từ vị trí tớ i cuố i khú c.
3
for (int i = 1; i <= n; ++i)
if ((i - 1) % k == 0)
f[i] = a[i];
else
f[i] = GCD(f[i - 1], a[i]);
for (int i = n; i >= 1; --i)
if (i % k == 0 || i == n)
g[i] = a[i];
else
g[i] = GCD(a[i], g[i + 1]);
4
𝑖 𝑗
GCD =
GCD =
Hà m Check():
Xét mọ i đoạ n độ dà i
for (i = 1; i <= n – k + 1; ++i)
j = i + k – 1;
Kiểm tra củ a có khô ng? Chỉ cầ n tính
5
𝑎𝑖
GCD =
GCD(, )