Написать рекурсивную функцию для возведения числа 3 в степень - C (СИ)
Формулировка задачи:
Написать рекурсивную функцию для возведения числа 3 в степень, равную некоторому другому числу. Например если передается аргумент 4, то функция возвращает 81.
"Простой" си
И с этой тоже прошу помочь
Решение задачи: «Написать рекурсивную функцию для возведения числа 3 в степень»
textual
Листинг программы
#include <stdio.h>
int pow3(int n)
{
if (n == 0)
return 1;
else
return 3*pow3(n-1);
}
int main(int argc, char* argv[])
{
int k;
printf("n=");
scanf("%d",&k);
if (k < 0)
printf("Bad input!\n");
else
printf("3^%d=%d\n",k,pow3(k));
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление рекурсивной функции pow3 для возведения числа 3 в степень n
- Проверка условия: если n равно 0, то возвращается 1
- Иначе, функция вызывает саму себя с аргументом n-1 и умножает результат на 3
- В функции main считывается значение переменной k с помощью scanf
- Проверка условия: если k меньше 0, то выводится сообщение об ошибке
- Иначе, выводится результат возведения 3 в степень k с помощью функции pow3
- Возврат 0, означающий успешный конец работы программы