Bỏ qua để đến nội dung

Cấp số cộng, cấp số nhân

Mức độ: Cơ bản

Nhiều bài thi đưa ra một dãy số “cứ tăng đều” hoặc “cứ gấp lên” rồi hỏi số hạng thứ 2026, tổng của 1018 số hạng đầu… Cộng dần bằng vòng lặp thì quá chậm khi n lớn. Bài này cho các bạn công thức để tính ngay.

Cấp số cộng là dãy mà hai số liền nhau luôn hơn kém nhau cùng một số d (gọi là công sai). Ví dụ 3, 7, 11, 15, … có d = 4.

Số hạng thứ n: từ số đầu a1, đi thêm n - 1 bước, mỗi bước cộng d:

an = a1 + (n - 1) × d

Số hạng thứ 2026 của dãy 3, 7, 11, … là 3 + 2025 × 4 = 8103.

Số số hạng: dãy từ a đến b, bước d, có (b - a) / d + 1 số. Ví dụ 7, 10, 13, …, 2026 có 2019 / 3 + 1 = 674 số. Lưu ý cộng 1: từ 1 đến 10 có 10 số chứ không phải 9 (bài toán “trồng cây” quen thuộc).

Tổng n số hạng: ghép số đầu với số cuối, số thứ hai với số áp cuối… Mỗi cặp có tổng bằng a1 + an, có n / 2 cặp:

Sn = n × (a1 + an) / 2

Cặp1 + 1002 + 993 + 98…50 + 51
Tổng101101101…101

1 + 2 + … + 100 = 50 cặp × 101 = 5050.

a1, d, n = 3, 4, 2026
an = a1 + (n - 1) * d
tong = n * (a1 + an) // 2 # n * (a1 + an) luôn chẵn
print(an, tong) # 8103 8211378

Lưu ý: n × (a1 + an) luôn là số chẵn (vì a1 + an = 2a1 + (n - 1)d, nếu n lẻ thì n - 1 chẵn), nên chia 2 không bị mất phần lẻ. Nhưng với n tới 109, tích có thể vượt long long: khi đó chia 2 trước cho thừa số chẵn (như bài tổng từ 1 đến n).

Cấp số nhân là dãy mà mỗi số bằng số trước nhân với cùng một số q (gọi là công bội). Ví dụ 3, 6, 12, 24, … có q = 2.

  • Số hạng thứ n: an = a1 × qn - 1.
  • Tổng n số hạng (q khác 1): Sn = a1 × (qn - 1) / (q - 1).

Vì sao? Viết S = 1 + 2 + 4 + … + 2n - 1. Nhân đôi: 2S = 2 + 4 + … + 2n. Trừ hai dòng, hầu hết các số triệt tiêu: 2S - S = 2n - 1.

Cấp số nhân tăng rất nhanh: 260 đã vượt 1018. Vì vậy:

  • Hỏi “sau bao nhiêu bước thì vượt n” chỉ cần vòng lặp khoảng 60 lần.
  • Hỏi số hạng thứ 1018 thì phải lấy dư và dùng lũy thừa nhanh.
TổngCông thứcn = 10
1 + 2 + … + nn(n + 1) / 255
1 + 3 + 5 + … + (2n - 1)n2100
12 + 22 + … + n2n(n + 1)(2n + 1) / 6385
13 + 23 + … + n3[n(n + 1) / 2]23025
1 × 2 + 2 × 3 + … + n(n + 1)n(n + 1)(n + 2) / 3440

Không cần học thuộc: khi quên, viết vòng lặp tính với n nhỏ để kiểm tra công thức.

Gồm 24 bài, chia thành 4 nhóm từ dễ đến khó. Mỗi bài có một dữ liệu kiểm tra: các bạn chạy chương trình của mình với dữ liệu đó rồi so với đáp số.

Cấp số cộng có số hạng đầu a, công sai d (|a|, |d| ≤ 109). Nhập a, d, n (n ≤ 109), in ra số hạng thứ n.

Ví dụ: nhập 3 4 5 thì in ra 19.

Kiểm tra: nhập 3 4 2026.

Xem đáp số

8103

Hướng dẫn giải chi tiết: liên hệ tác giả.

Cấp số cộng có số hạng đầu a, công sai d (0 ≤ a, d ≤ 103). Nhập a, d, n (n ≤ 109), in ra tổng n số hạng đầu.

Ví dụ: nhập 1 1 100 thì in ra 5050.

Kiểm tra: nhập 1 1 1000000000.

Xem đáp số

500000000500000000

Hướng dẫn giải chi tiết: liên hệ tác giả.

Dãy a, a + d, a + 2d, …, b (d ≥ 1, b - a chia hết cho d, các số ≤ 1018). Nhập a, b, d, in ra số số hạng của dãy.

Ví dụ: nhập 1 10 1 thì in ra 10.

Kiểm tra: nhập 7 2026 3.

Xem đáp số

674

Hướng dẫn giải chi tiết: liên hệ tác giả.

Nhập n (n ≤ 109). In ra tổng n số lẻ đầu tiên 1 + 3 + 5 + … + (2n - 1).

Ví dụ: nhập 4 thì in ra 16.

Kiểm tra: nhập 2026.

Xem đáp số

4104676

Hướng dẫn giải chi tiết: liên hệ tác giả.

Nhập a, b, k (1 ≤ a ≤ b ≤ 109, k ≤ 109). In ra tổng các số chia hết cho k trong đoạn từ a đến b (in 0 nếu không có số nào).

Ví dụ: nhập 10 99 3 thì in ra 1665.

Kiểm tra: nhập 1 1000000000 7.

Xem đáp số

71428571071428571

Hướng dẫn giải chi tiết: liên hệ tác giả.

Quyển sách có n trang (n ≤ 1017), đánh số từ 1. Cần viết tất cả bao nhiêu chữ số?

Ví dụ: nhập 100 thì in ra 192.

Kiểm tra: nhập 2026.

Xem đáp số

6997

Hướng dẫn giải chi tiết: liên hệ tác giả.

Viết liền các số tự nhiên 1, 2, 3, … thành dãy 123456789101112131415… Nhập k (k ≤ 1018), in ra chữ số thứ k của dãy.

Ví dụ: nhập 11 thì in ra 0.

Kiểm tra: nhập 2026.

Xem đáp số

7

Hướng dẫn giải chi tiết: liên hệ tác giả.

Bài 8. Số hạng thứ n của cấp số nhân

Phần tiêu đề “Bài 8. Số hạng thứ n của cấp số nhân”

Cấp số nhân có số hạng đầu a, công bội q (a, q ≤ 109). Nhập a, q, n (n ≤ 1018), in ra số hạng thứ n chia lấy dư cho 109 + 7.

Ví dụ: nhập 3 2 5 thì in ra 48.

Kiểm tra: nhập 3 2 1000000000000000000.

Xem đáp số

79214383

Hướng dẫn giải chi tiết: liên hệ tác giả.

Nhập n (1 ≤ n ≤ 62). In ra 1 + 2 + 4 + … + 2n - 1.

Ví dụ: nhập 4 thì in ra 15.

Kiểm tra: nhập 62.

Xem đáp số

4611686018427387903

Hướng dẫn giải chi tiết: liên hệ tác giả.

Ban đầu có 1 con vi khuẩn, cứ mỗi giờ số vi khuẩn gấp đôi. Nhập n (n ≤ 1018). Sau ít nhất bao nhiêu giờ thì số vi khuẩn lớn hơn hoặc bằng n?

Ví dụ: nhập 100 thì in ra 7.

Kiểm tra: nhập 1000000000000000000.

Xem đáp số

60

Hướng dẫn giải chi tiết: liên hệ tác giả.

Đặt 1 hạt gạo vào ô thứ nhất, 2 hạt vào ô thứ hai, 4 hạt vào ô thứ ba, … (mỗi ô gấp đôi ô trước). Nhập n (1 ≤ n ≤ 64), in ra tổng số hạt gạo trên n ô đầu.

Ví dụ: nhập 3 thì in ra 7.

Kiểm tra: nhập 64.

Xem đáp số

18446744073709551615

Hướng dẫn giải chi tiết: liên hệ tác giả.

Nhập a, q, n (1 ≤ a ≤ 100, 2 ≤ q ≤ 10, n ≤ 15). In ra tổng a + a × q + a × q2 + … (n số hạng).

Ví dụ: nhập 1 3 4 thì in ra 40.

Kiểm tra: nhập 3 3 10.

Xem đáp số

88572

Hướng dẫn giải chi tiết: liên hệ tác giả.

Dòng đầu là n (3 ≤ n ≤ 105). Dòng thứ hai có n số nguyên dương (≤ 109). In ra CONG nếu dãy là cấp số cộng, NHAN nếu là cấp số nhân (công bội nguyên), CA HAI nếu là cả hai, KHONG nếu không phải cả hai.

Ví dụ:

NhậpIn ra
4
3 6 12 24
NHAN

Kiểm tra: nhập

5
7 7 7 7 7
Xem đáp số

CA HAI

Hướng dẫn giải chi tiết: liên hệ tác giả.

Nhập n (n ≤ 2 × 106). In ra 12 + 22 + … + n2.

Ví dụ: nhập 10 thì in ra 385.

Kiểm tra: nhập 1000000.

Xem đáp số

333333833333500000

Hướng dẫn giải chi tiết: liên hệ tác giả.

Nhập n (n ≤ 104). In ra 13 + 23 + … + n3.

Ví dụ: nhập 4 thì in ra 100.

Kiểm tra: nhập 10000.

Xem đáp số

2500500025000000

Hướng dẫn giải chi tiết: liên hệ tác giả.

Nhập n (n ≤ 106). In ra 1 × 2 + 2 × 3 + 3 × 4 + … + n × (n + 1).

Ví dụ: nhập 3 thì in ra 20.

Kiểm tra: nhập 1000.

Xem đáp số

334334000

Hướng dẫn giải chi tiết: liên hệ tác giả.

Số tam giác là các số 1, 3, 6, 10, 15, … (số thứ n bằng 1 + 2 + … + n). Nhập x (1 ≤ x ≤ 1018), in ra YES nếu x là số tam giác, ngược lại in ra NO.

Ví dụ: nhập 10 thì in ra YES.

Kiểm tra: nhập 2016.

Xem đáp số

YES

Hướng dẫn giải chi tiết: liên hệ tác giả.

Viết các số 1, 2, 3, … thành các hàng: hàng 1 có 1 số, hàng 2 có 2 số, hàng 3 có 3 số, … Nhập x (x ≤ 1018), in ra số thứ tự hàng chứa x và vị trí của x trong hàng (đều đếm từ 1).

Ví dụ: nhập 8 thì in ra 4 2.

Kiểm tra: nhập 2026.

Xem đáp số

64 10

Hướng dẫn giải chi tiết: liên hệ tác giả.

Dãy 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, … (số k xuất hiện k lần liên tiếp). Nhập n (n ≤ 1018), in ra số hạng thứ n.

Ví dụ: nhập 7 thì in ra 4.

Kiểm tra: nhập 2026.

Xem đáp số

64

Hướng dẫn giải chi tiết: liên hệ tác giả.

Dùng que diêm xếp các ô vuông thành một hàng ngang, hai ô cạnh nhau chung một que. Có m que diêm (m ≤ 1018). Xếp được nhiều nhất bao nhiêu ô vuông?

Ví dụ: nhập 10 thì in ra 3.

Kiểm tra: nhập 2026.

Xem đáp số

675

Hướng dẫn giải chi tiết: liên hệ tác giả.

Dùng que diêm xếp một lưới n × n ô vuông (n ≤ 109). Cần bao nhiêu que?

Ví dụ: nhập 1 thì in ra 4.

Kiểm tra: nhập 25.

Xem đáp số

1300

Hướng dẫn giải chi tiết: liên hệ tác giả.

Đoạn đường dài L mét, trồng cây cách đều nhau d mét (L chia hết cho d, L, d ≤ 1018). Nhập L, d và loại t: t = 1 là đường thẳng trồng cả hai đầu, t = 2 là đường thẳng không trồng hai đầu, t = 3 là đường vòng quanh hồ. In ra số cây.

Ví dụ: nhập 100 10 1 thì in ra 11.

Kiểm tra: nhập 2026 2 3.

Xem đáp số

1013

Hướng dẫn giải chi tiết: liên hệ tác giả.

Một chú ốc leo cột cao h mét: ban ngày leo lên a mét, ban đêm tụt xuống b mét (b nhỏ hơn a, h, a, b ≤ 1018). Bắt đầu từ chân cột vào sáng ngày thứ nhất. Hỏi đến ngày thứ mấy ốc lên tới đỉnh cột?

Ví dụ: nhập 20 5 3 thì in ra 9.

Kiểm tra: nhập 100 7 2.

Xem đáp số

20

Hướng dẫn giải chi tiết: liên hệ tác giả.

Đồng hồ đánh chuông mỗi giờ đúng: lúc k giờ đánh k tiếng (theo đồng hồ 12 giờ, 12 giờ đánh 12 tiếng, 13 giờ đánh 1 tiếng). Nhập hai giờ a, b (0 ≤ a ≤ b ≤ 23, giờ trong ngày). In ra tổng số tiếng chuông từ a giờ đến b giờ (kể cả hai đầu).

Ví dụ: nhập 1 3 thì in ra 6.

Kiểm tra: nhập 0 23.

Xem đáp số

156

Hướng dẫn giải chi tiết: liên hệ tác giả.