C/C++

Нужно написать программу с вложенным циклом

Нужно написать программу с вложенным циклом
В этой задаче НЕТ вложенных циклов.
Сумма в знаменателе - банальная арифметическая прогрессия, простое арифметическое выражение без циклов.
Сумма в числителе сводится к не менее простому арифметическому выражению без циклов. Более того, значение в числителе вообще не меняется и потому может быть вычислено всего 1 раз.

double s = 0.0, x;
int m, n;
cin >> m >> n >> x;
for (int i = 1; i <= n; ++i) { s += 2.0 / (2 + (4 * i + m + 1) * m); }
s *= x + m / 2 - m % 2 * m;
cout << s;

Цикл можно упростить и ускорить:

int q = 4 * m;
for (int i = 1, t = 2 + m * m + m; i <= n; ++i) { s += 2.0 / (t += q); }
Сергей Шабанов
Сергей Шабанов
60 271
Лучший ответ
Ну, сумма в числителе - это только чтобы тебя напугать. Она равна х - m(m+1)/2. Поэтому мы можем этот множитель вынести наружу и заменить все это счастье единицей.
Тогда у нас останется то, что нарисовано внизу - тут уже у тебя никаких проблем быть не должно, если что - задавай конкретные вопросы. И как справедливо сказано выше, вложенные циклы тут нахрен не уперлись, но раз уж у тебя такое задание, то дальше сокращать формулу не имеет смысла.
Baglan Meirbek В числителе знакопеременная сумма. Так что формула будет иной.
Фриланс в помощь