Câu hỏi:

11/05/2023 312

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+...+n1+n=S(n1)+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) có thể được viết lại như sau (ảnh 1)

Quảng cáo

Trả lời:

verified
Giải bởi Vietjack

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) có thể được viết lại như sau (ảnh 2)

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Lời giải

a) Không sử dụng đệ quy:

Để tính tổng của một dãy số A, ta có thể sử dụng vòng lặp for để cộng dồn từng phần tử trong dãy A lại với nhau

Viết chương trình tổng  S=1!+2!+...+n! theo hai cách: a) Không sử dụng đệ quy b) Có sử dụng kĩ thuật đệ quy (ảnh 1)

b) Có sử dụng kĩ thuật đệ quy:

Để tính tổng của một dãy số A sử dụng kĩ thuật đệ quy, ta có thể thực hiện theo thuật toán sau:

1. Kiểm tra điều kiện dừng: nếu A rỗng, tổng của dãy là 0.

2. Trường hợp ngược lại, tính tổng của dãy bằng tổng của phần tử cuối cùng của dãy A (A[-1]) cộng với tổng của dãy A trừ phần tử cuối cùng (A[:-1]).

Lời giải

Để tính hàm SL(n) là tổng các số tự nhiên lẻ nhỏ hơn hoặc bằng n theo kĩ thuật đệ quy, ta có thể sử dụng thuật toán sau:

1. Kiểm tra điều kiện dừng: nếu n = 1, trả về giá trị 1.

2. Nếu n là số lẻ, ta tính SL(n-2) và cộng thêm n vào kết quả.

3. Nếu n là số chẵn, ta tính SL(n-1) và không cộng thêm n vào kết quả.

Viết chương trình theo kĩ thuật đệ quy để tính hàm SL(n) là tổng các số tự nhiên lẻ nhỏ hơn hoặc bằng n (ảnh 1)

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP

Lời giải

Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.

Nâng cấp VIP