Для 2 чисел x
и n
, введенных пользователем, мой код должен найти Hn (x), рекурсивно определенный по следующим формулам:
Я пытаюсь реализовать рекурсивную версию и итеративную версию этой функции.Но я думаю, что я неправильно понимаю это, поскольку мой код не компилируется из-за ошибок в H (n) и H [n]:
#include "pch.h"
#include <iostream>
int H(int n, int x) //function for recursion
{
if (n < 0) return -1;
else if (n == 0) return 1;
else if (n == 1) return 2 * x;
return 2 * x * H(n) * x - 2 * n * H(n - 1) * x;
}
int H1(int n, int x) //function for Iterator
{
int *H1 = new int[n + 1];
H[0] * x = 1;
H[1] * x = 2 * x;
for (int i = 0; i <= n; i++)
{
H[i] * x = 2 * x * H[n] * x - 2 * n * H[n - 1] * x;
}
return H1(n) * x;
}
int main()
{
int n, x;
std::cout << "Enter the number n: ";
std::cin >> n;
std::cout << "Enter the number x: ";
std::cin >> x;
std::cout << "Rec = " << H[n] * x std::endl;
std::cout << "Iter = " << H1[n] * x std::endl;
}
Это сбивает с толку, я извиняюсь за этокак я совершенно новичок в функции.
Мне уже удалось сделать это с помощью последовательности Фибоначчи.И там я использовал только один параметр для функции f(x)
, то есть f(int n){... }
, но здесь я немного запутался с двумя параметрами в функции H(int n, int x)
, где n
- это индекс H
, тогда как x
- этоцелое число.