Написать рекурсивную функцию для возведения числа 3 в степень, равную некоторому другому числу - C (СИ)
Формулировка задачи:
Написать рекурсивную функцию для возведения числа 3 в степень, равную некоторому другому числу.
(Например если передается аргумент 4, то функция возвращает 81.)
Прошу помочь
Пожалуйста
Решение задачи: «Написать рекурсивную функцию для возведения числа 3 в степень, равную некоторому другому числу»
textual
Листинг программы
int getThreePoweredBy( int number )
{
if ( number > 0 ) { // если положительный показатель степени
return 3 * getThreePoweredBy( number - 1 );
}
else if ( number < 0 ) { // если отрицательный показатель степени
return getThreePoweredBy( number + 1 ) / 3;
}
else { // если нулевой показатель степени (основной случай)
return 1;
}
}
Объяснение кода листинга программы
- Заголовок функции:
int getThreePoweredBy( int number ) - Проверка входного параметра
numberна положительное значение. - Если условие истинно, то возвращается результат умножения числа 3 на результат вызова функции
getThreePoweredByс аргументомnumber - 1. - Если условие ложно, то выполняется проверка на отрицательное значение
number. - Если условие истинно, то возвращается результат деления результата вызова функции
getThreePoweredByс аргументомnumber + 1на число 3. - Если условие ложно, то возвращается число 1.