имеется данный код, но он выводит не ожидаемый результат. как это исправить?
double s = 0.0;
for (int i = 1; i < 100; i++) {
s += 1.00000 / i;
cout << s << "\n";
//printf("%.5d\n", s);
}
Приведённый код считает сумму гармонического ряда, а она является расходящейся, т.е. не стремится ни к какому пределу, а постоянно увеличивается.
Поэтому не стоит ожидать, что значение s сойдётся к 1 (это просто невозможно, т.к. сумма уже двух членов равна 1.5 и далее к ней добавляются положительные значения).
Сборка персонального компьютера от Artline: умный выбор для современных пользователей