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

Помогите пожалуйста! Беда с рекурсиями, С++.
Гость
Ответ(ы) на вопрос:
Гость
#include #include #define Pi 3.14159265 using namespace std; double Func(double x, int n, int jz) {        if (jz > 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 << "n = ";     cin >> n;     cout << "x = ";     cin >> x;          S = Func(x,n,n);     cout << S << "\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 Всё верно.
Гость
#include #include using namespace std; double f(double x, int n) {     if (n > 0) return (f(tan(n*M_PI/2+x),n-1));        else return (x); } int main() {     int n ;     double x;     cout << "n = ";     cin >> n;     cout << "x = ";     cin >> x;     cout << tan(M_PI/2 + tan(2*M_PI/2 + tan(3*M_PI/2 + tan(4*M_PI/2+x)))) << "\n";     cout << "tg() = " << f(x,n) << "\n";     system("Pause");     return 0; } Пример: n = 4 x = 1 74.677 tg() = 74.677
Не нашли ответ?
Ответить на вопрос
Похожие вопросы