Cho n. Tính S = 0.7 + 0.77 + 0.777 + ... (n số hạng, số hạng i có i chữ số 7).
Ví dụ
n = 4: 0.7 + 0.77 + 0.777 + 0.7777 = 3.0247
Công thức toán học
Số hạng thứ i: 7/9 * (1 - 10^{-i}).
Tổng: S = 7/9 * Σ(1 - 10^{-i}) = 7/9 * [n - (1/10)(1 - 10^{-n})/(1 - 1/10)]
= 7/9 * [n - (1 - 10^{-n})/9]
= 7/81 * (9n - 1 + 10^{-n})
Chương trình C++
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
double calcSeriesSum(int n) {
return (7.0 / 81.0) * (9 * n - 1 + pow(10, -n));
}
int main() {
int n = 5;
cout << fixed << setprecision(5)
<< "Tong chuoi = " << calcSeriesSum(n); // 3.80205
return 0;
}
Kết quả
Tong chuoi = 3.80205
Lưu ý
Code gốc dùng hằng số 0.08641 gần đúng 7/81 ≈ 0.08641975. Nên dùng phép chia chính xác để tránh sai số.