Товарищи программисты что-то у меня не правильно в решении задачи (.(x+a)^2+a)^2+.+a)^2)+a)^2+a - C (СИ)

Узнай цену своей работы

Формулировка задачи:

((...((x+a)^2+a)^2+...+a)^2)+a)^2+a есть наброски но я тупой (
#include <stdio.h> 
#include <locale.h> 
#include <conio.h> 
#include <math.h> 
int n, i; 
float x, a, sum; 
void main(void) { 
setlocale(LC_ALL, "rus"); 
printf("Введите число n\n"); 
scanf_s("%d", &n); 
sum = pow(x + a, 2); 
for (i = 1; i <= n; i++) 
sum = pow(sum + a, 2); 
if (i == n - 1) 
{ 
sum = sum + a; 
} 
else {sum = pow(sum + a, 2); 
} 
printf("Вычисленное значение равно %f", sum); 
_getch(); 
return; 
}

Решение задачи: «Товарищи программисты что-то у меня не правильно в решении задачи (.(x+a)^2+a)^2+.+a)^2)+a)^2+a»

textual
Листинг программы
double
foo (double x, double a, int n)
{
  double y = x + a;
  return n ? foo(y * y, a, n - 1) : y;
}

Объяснение кода листинга программы

В данном коде определен функцию foo, которая принимает три аргумента: x, a и n.

  1. Изначально, в строке с номером 3, переменная y инициализируется как сумма x и a.
  2. Затем, в строке с номером 4, функция foo рекурсивно вызывается с аргументами y * y и a, а также с уменьшенным на единицу значением n.
  3. Если значение n равно нулю, то в строке с номером 4, функция возвращает значение y.
  4. Возвращаемое значение функции foo будет представлять собой результат вычисления выражения (x + a)^2 + a^2 + a.

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы