есть массив. нужно найти рекурсивно произведения его множителей. путём деления пополам массива. но рекурсивные вызовы должны остановиться если кусок массива с которым работаем состоит из одного или двух элементов.
int recursion(int* X, int N, int i, FILE* res)
{
if (N - i == 2)
return X[i] * X[i+1];
if (N - i == 1)
return X[i];
int N1 = N/2;
int i2 = N - N1 + 1;
return (recursion(X, N1, i, res)*recursion(X, N, i2, res));
}
fprintf(res, "%d", recursion(X, N, i, res)); вот так вывожу ответ
X- массив N - изначально длина массива
проблема в том что визуалка говорит что у меня исключение под строкой int recursion...