Вычислить значение выражения с помощью рекурсивной функции - C (СИ) (79594)
Формулировка задачи:
Есть условие: нужно вычислить значение выражения типа V1+V2+Vn, с помощью рекурсивной функции.
где V-это общий корень, сори за корявость -).
я такой код писал
При н=6 пишет переполнен стек *(
Подскажите где ошибка? Зарание спасибо.
double func(int n) { double sum; if(n<2) sum=1; else sum+=sqrt(n-- + sqrt(func(n-1))); return sum; }
Решение задачи: «Вычислить значение выражения с помощью рекурсивной функции»
textual
Листинг программы
#include <stdio.h> #include <conio.h>] float f(int n) { if (n>0) return sqrt(n) + f(--n); } void main() { printf("%f",f(6)); getch(); }
Объяснение кода листинга программы
- #include
- подключает файл стандартного ввода/вывода, что позволяет использовать функции для работы с консолью - #include
- подключает файл conio.h, который содержит функции для работы с консолью, такие как getch() - float f(int n) - объявление функции с именем f, которая принимает целочисленный аргумент n и возвращает значение с плавающей точкой (float)
- if (n>0) return sqrt(n) + f(--n); - рекурсивный вызов функции f с аргументом n, уменьшенным на 1, если n больше 0. В противном случае возвращается квадратный корень из n
- void main() - объявление функции main, которая не возвращает значение и является точкой входа в программу
- printf(
%f
,f(6)); - вывод значения функции f(6) с использованием функции printf, которая форматирует и выводит данные в консоль - getch(); - блокирующий вызов, который ожидает нажатия клавиши, чтобы программа могла продолжить выполнение
- return 0; - завершение функции main, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д