Помогите пожалуйста! Неудача с рекурсиями, С++.

Помогите пожалуйста! Беда с рекурсиями, С++.

Задать свой вопрос
2 ответа
include lt;iostreamgt;
include lt;cmathgt;
define Pi 3.14159265
using namespace std;


double Func(double x, int n, int jz)

       if (jz gt; 1) return (tan((n-jz+1)*Pi/2+ Func(x,n,jz-1)));
       else return (tan(n*Pi/2+x));




int main()

    int n = 0;
    double x,S;
    S = 0;
    cout lt;lt; "n = ";
    cin gt;gt; n;
    cout lt;lt; "x = ";
    cin gt;gt; x;
    
    S = Func(x,n,n);
    cout lt;lt; S lt;lt; "\n";
    system("Pause");
    return 0;


Пример:

n = 3
x = 1
1.07817
Для продолжения нажмите любую кнопку . . .

Для  n=3, x=1 выражение обязано выглядеть так:
Tan(Pi/2 + Tan(2*Pi/2 + Tan(3*Pi/2 +x))) = 1,0781689469614057415777644795053

Всё верно.


Василий
Ух, скоро, спасибо)
Лидия Семеринская
Шаблон с прошедшего решения взял)) Две строки всего исправил))
Кира Стригулина
Можешь разъяснить что это за "y"?
Vitalja Smordin
В какой строке "у" ??
Ева Мангалжавына
ой, поточнее не "y", а "jz", я понимаю для чего она нужна, но как она определяется я нинаю
Maksim Sokovnin
Так объяснишь?
include lt;iostreamgt;
include lt;cmathgt;

using namespace std;

double f(double x, int n)

    if (n gt; 0) return (f(tan(n*M_PI/2+x),n-1));
       else return (x);


int main()

    int n ;
    double x;
    cout lt;lt; "n = ";
    cin gt;gt; n;
    cout lt;lt; "x = ";
    cin gt;gt; x;
    cout lt;lt; tan(M_PI/2 + tan(2*M_PI/2 + tan(3*M_PI/2 + tan(4*M_PI/2+x)))) lt;lt; "\n";
    cout lt;lt; "tg() = " lt;lt; f(x,n) lt;lt; "\n";
    system("Pause");
    return 0;


Пример:
n = 4
x = 1
74.677
tg() = 74.677
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт