Giúp đỡ bài tập dùng vòng lặp tính tổng dãy

Em đang tự tìm hiểu về ngôn ngữ C và đang gặp khó khăn với bài tập này ạ. Mong mọi người giúp đỡimage

bạn cần giúp đỡ như thế nào? bạn khó khăn ở khâu nào?

  • nhập x, n?
  • lặp với biến đếm 1 3 5 … 2n+1 ?
  • tính cộng? trừ? nhân? lũy thừa? giai thừa?
2 Likes

khó khăn ở khâu tính toán bao gồm cả phần lặp và tính luỹ thừa, giai thừa bởi vì e làm theo hàm pow thì kết quả bị sai

Bài này KHÔNG dùng lũy thừa float.

4 Likes

tại sao vậy ạ? e nghĩ là có phép chia nên để float

Xin lỗi, mình đọc không kĩ, có dùng float.

Nhưng bạn bảo kết quả sai, bị sai thế nào vậy bạn? Có khi do số bạn nhập quá lớn chăng?

2 Likes

Mình thiết nghĩ cậu chia thành hai hàm là giai thừa và hàm mũ, rồi thực hiện chúng và đứa ra kết quả ở hàm main xem ổn không ?

1 Like

Cảm ơn mọi người, e tìm ra vấn đề rồi ạ

Chúc mừng bạn giải quyết được vấn đề. Nếu lần sau bạn gửi bài nữa thì nhờ copy code rồi post lên diễn đàn nhé.

Post code dễ copy và đỡ tốn băng thông diễn đàn. Mình trả tiền mỗi tháng nhiều lắm bạn êy :rofl:

4 Likes

Bài này không thể tính theo kiểu tính tử số, mẫu số rồi chia cho nhau được, vì n mà lớn quá là sẽ bị tràn số (giai thừa mà). Bài này phải dùng cách chia tổng quát phần tử thứ n+1 cho phần tử thứ n. Ở đây số mũ là các số lẻ, ý tưởng là thế này:

tongquat(2n+1)/tongquat(2n-1) = k (biểu thức tổng quát theo n);

phantu(2*0 + 1) = x;
tong += phantu(2*0 + 1);

phantu(2*1 + 1) = phantu(2*0 + 1)*k;
tong += phantu(2*1 + 1);
... 
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?