C/C++

ПОМОГИТЕ НАПИСАТЬ ПРОГРАММУ НА C++ ИСПОЛЬЗУЯ ТОЛЬКО ЦИКЛЫ.

Написать программу решения поставленной задачи.
Порассуждаем справа налево.

Вход в цикл: результат = 0.0,
• итерация 1: результат = cos(π/30 + результат),
• итерация 2: результат = cos(π/27 + результат),
• итерация 3: результат = cos(π/24 + результат),
• итерация 4: результат = cos(π/21 + результат),
• итерация 5: результат = cos(π/18 + результат),
• итерация 6: результат = cos(π/15 + результат),
• итерация 7: результат = cos(π/12 + результат),
• итерация 8: результат = cos(π/9 + результат),
• итерация 9: результат = cos(π/6 + результат),
• итерация 10: результат = cos(π/3 + результат),
выход из цикла.

✓   Паша, полагаю, теперь очевидно, каким должно быть тело цикла?
ЭЗ
Эдуард Зуев
16 172
Лучший ответ
Эдуард Зуев    Ещё может быть полезна следующая формула: π ≈ 103993/33102
Эдуард Зуев    Организуйте вот такой цикл:

     Цикл: 30, 3, –3

• то есть убывающий цикл от 30 до 3 с шагом –3.
Эдуард Зуев const double _pi_ = 103993./33102.;
Эдуард Зуев double Res = 0.;
for (int i = 30; i; i -= 3) Res = cos (_pi_ / i + Res);
Сразу в косинусах и ПИ это сложно сделать, ибо сначала нужно понять как сделать такой цикл на более простых примерах и построить алгоритм. Например так на JS
console.log('res', 2 + ((4 + (6 + 8 + (10 + 12)))));
// 10 + 12 = 22
// 22 + 8 = 30
// 30 + 6 = 36
// 36 + 4 = 40
// 40 + 2 = 42
i = 12;
res1 = i;
while (i >= 1) {
res1 = i + (res1 - 2);
console.log('i =', i, 'i - 2 =', i - 2);
i -= 2;
console.log('RES', res1);
}
console.log('Result is', res1); // 42
>>>
После этого можно переходить и к решению в косинусах и ПИ
используя только циклы, написать программу невозможно. на С++, как минимум, точка входа должна быть функцией.
используя только циклы можно написать только for(;;)