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 đỡ
Giúp đỡ bài tập dùng vòng lặp tính tổng dãy
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?
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 và .float
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?
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 ?
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
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);
...