Внедрить рекурсивный алгоритм в имеющуюся программу - C (СИ)

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

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

Здравствуйте. есть такая программка
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
 
int main(void)
{
    float n;
    float i;
    float pr;
    pr = 1;
    i = 1;
    printf("vvedite n -> ");
    scanf("%f", &n);
    for ( i; i <= n; ++i )
    {
      pr=pr*((i*2-1)/(i*2));
    }
    printf("%f",pr);
    _getch();
}
нужно как то переделать, что бы в ней использовалась рекурсия

Решение задачи: «Внедрить рекурсивный алгоритм в имеющуюся программу»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <locale.h>
#include <math.h>
 
 float func(float n){
    return (n>0?func(--n)*(((n+1)*2-1)/((n+1)*2)):1);
 }
 
int main(void)
{
    float n;
    float pr;
    pr = 1;
    printf("vvedite n -> ");
    scanf("%f", &n);
     pr=func(n);
    printf("%f",pr);
    _getch();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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