An được giao tìm một thiết kế mới cho bài toán tính tổng S(n) có thể được viết lại như sau

Khởi động trang 11 Chuyên đề Tin học 11: An được giao tìm một thiết kế mới cho bài toán tính tổng S(n) có thể được viết lại như sau:

S(n) = 1+2+3+…+n = 1+2+…+n-1+n = S(n-1)+n . Do đó, việc tính S(n) có thể được tính từ S(n-1), tương tự S(n-1) lại có thể được tính từ S(n-2). Cứ như vậy, cuối cùng sẽ dẫn đến cần tính S(0), nhưng S(0)=0. Em có thể giúp n hoàn thiện ý tưởng trên thành một chương trình hay không?

An được giao tìm một thiết kế mới cho bài toán tính tổng S(n) 

Hình 1. Máy tính ENIAC

Trả lời

Bước 1. Bài toán yêu cầu tính tổng của n số nguyên từ 1 đến n. Cần thiết lập hàm S(n) trả về giá trị tổng cần tim.

Bước 2. Điều kiện n ≥ 0.

Với n = 0 ta có S(n) = 0. Đây là phần cơ sở cho điều kiện dừng của lời gọi đệ quy của hàm S(n).

Bước 3. Dễ thấy S(n) = n + S(n - 1) là công thức truy hồi của hàm S(n) và là cơ sở của lời gọi đệ quy của hàm. Chương trình như sau:

An được giao tìm một thiết kế mới cho bài toán tính tổng S(n) 

Xem thêm lời giải bài tập Chuyên đề học tập Tin học lớp 11 Kết nối tri thức hay, chi tiết khác:

Bài 1: Đệ quy và hàm đệ quy

Bài 2: Thiết kế thuật toán đệ quy

Bài 3: Thực hành giải toán theo kĩ thuật đệ quy

Bài 4: Tháp Hà Nội

Bài 5: Thực hành thiết kế thuật toán theo kĩ thuật đệ quy

Bài 6: Ý tưởng và kĩ thuật chia để trị

 

Câu hỏi cùng chủ đề

Xem tất cả