Dưới đây là một đoạn mã mô tả viết chương trình tính tổng theo công thức S(n) = 1+1/3+1/5+1/7…+1/(2*n-1) trong c++.
Bài trước: Bài 13: Một số hoàn thiện là một số có tổng các ước của nó (không kể nó) bằng chính nó. Hãy nhập vào một số nguyên dương n và kiểm tra số hoàn thiện.Ví dụ: số 6 là số hoàn thiện vì tổng các ước số là 1+2+3=6.
1. Yêu cầu bài toán
Bài 14: Viết chương trình nhập vào số nguyên dương n và tính tổng theo công thức S= \( 1+ \frac{1}{3} + \frac{1}{5} + \frac{1}{7} + … + \frac{1}{2*n-1}\)
2. Ý tưởng bài toán
Để tính tổng của chuỗi số được tính bằng công thức S = 1 + 1/3 + 1/5 + … + 1/(2n-1), trong đó n là một số nguyên dương được nhập từ bàn phím. Ta thực hiện theo các bước sau:
- Khai báo biến và khởi tạo giá trị ban đầu:
-
- Biến n là số nguyên dương được nhập từ bàn phím.
- Biến i dùng để lặp trong vòng lặp for.
- Biến s là tổng của chuỗi số được tính bằng công thức S.
- Biến s1 được tính toán là 2n-1, được sử dụng để kiểm tra điều kiện trong vòng lặp for.
- Biến d được sử dụng để tính toán giá trị 2i-1, được sử dụng để cộng vào biến s.
- Nhập giá trị của n từ bàn phím.
- Tính toán giá trị của s bằng cách lặp từ i = 2 đến s1 – 1 (vì số đầu tiên trong chuỗi là 1):
- Tính giá trị của d bằng 2i-1.
- Kiểm tra nếu d không vượt quá giá trị của s1 thì cộng giá trị 1/d vào s.
- Xuất tổng ra màn hình
3. Code chương trình nhập tính tổng theo công thức S(n) = 1+1/3+1/5+1/7…+1/(2*n-1) trong c++
#include<iostream> #include<iomanip> using namespace std; int main(){ int n,i; double s=1,s1=0,d=0; cout<<"Nhap so nguyen duong n:"; cin>>n; s1=2*n-1; for(i=2;i<s1;i++){ d=2*i-1; if(d<=s1){ s+=1/d; } } cout<<"Tong theo cong thuc S= "<<s; }
3. Kết quả
Chạy thử chương trình với bộ test n=2 và n=3
Trên đây là đoạn mã chương trình tính tổng S(n) = 1+1/3+1/5+1/7…+1/2*n-1 bằng ngôn ngữ lập trình c++. Cảm ơn các bạn đã tham khảo trên ttnguyen.net!
Tải full tài liệu thực hành C/C++ có lời giải
Bài tiếp theo: Bài 15: kiểm tra số chính phương c++