# Solution bài Dãy số Lipon ## Hint: - Ta để ý thấy, Dãy số Lipon là một dãy số chu kỳ. - Chu kỳ này bắt đầu từ số $14$ và kết thúc tại số $6$ và nó lặp lại ## Idea: - Đầu tiên ta tính tổng dãy số chu kỳ nói trên - Tạo hàm tính tổng các số của dãy Lipon từ $1$ $\to$ $x$ - Ta tính xem trong dãy từ $1$ $\to$ $x$ có bao nhiêu dãy chu kỳ. Sau đó ta nhân kết quả tìm được với tổng của chu kỳ. - Việc ta tính tổng như thế sẽ bị thiếu một vài số, nên việc còn lại của chúng ta là cày trâu tính tổng các số còn lại. - Tính tổng các số của dãy Lipon từ $1$ $\to$ $b$ - Tính tổng các số của dãy Lipon từ $1$ $\to$ $(a-1)$ - In ra tổng từ $1$ $\to$ $b$ trừ cho tổng từ $1$ $\to$ $(a-1)$ ## Reference AC code: ```python= # Tạo dãy chu kỳ n=14;h=[14];summer=14;n *= 2;n += 2 while n != 14: h.append(n) summer += n n *= 2 n += 2 n %= 1000 # Hàm tính tổng def tinhtong(x): modify=x%len(h) ans = x//len(h)*summer index=6 for i in range(modify): index *= 2 index += 2 index %= 1000 ans += index return ans a,b=map(int,input().split()) print(tinhtong(b)-tinhtong(a-1)) ```