Вопрос задан 17.07.2026 в 19:09. Предмет Информатика. Спрашивает Шарифуллин Данил.

Вычислить сумму первых слагаемых бесконечного ряда: 1+1/2+1/3+1/4+...+1/n с точностью до семи знаков дробной части.

Перейти к ответам

Ответы на вопрос

Отвечает Шамсияров Эмиль.

Нужно вычислять не бесконечную сумму, а сумму первых n членов гармонического ряда:

Sn=1+12+13+14++1nS_n = 1+\frac12+\frac13+\frac14+\dots+\frac1n

Сам бесконечный ряд

1+12+13+1+\frac12+\frac13+\dots

расходится, то есть конечной суммы не имеет.

Алгоритм простой: завести вещественную переменную sum и последовательно прибавить к ней значения 1/i для всех i от 1 до n.

Пример на C++:

C++
#include 
#include

int main() {
int n;
std::cin >> n;

double sum = 0.0;

for (int i = 1; i <= n; ++i) {
sum += 1.0 / i;
}

std::cout << std::fixed << std::setprecision(7) << sum;

return 0;
}

Здесь важно записать 1.0 / i, а не 1 / i: иначе произойдет целочисленное деление, и при i > 1 результат будет равен нулю.

Например, при n = 4:

1+12+13+14=2.08333331+\frac12+\frac13+\frac14 = 2.0833333

Вывод программы:

2.0833333

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос