Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/76: Рейтинг темы: голосов - 76, средняя оценка - 4.89
4 / 3 / 2
Регистрация: 11.06.2013
Сообщений: 298

Написать рекурсивную функцию для расчета степени n вещественного числа a

01.11.2013, 14:55. Показов 14953. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать рекурсивную функцию для расчета степени n вещественного числа a (n – натуральное число).
Только словами по проще,если можно.Заранее спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.11.2013, 14:55
Ответы с готовыми решениями:

Написать рекурсивную функцию для расчета степени n заданного вещественного числа
Написать рекурсивную функцию для расчета степени n вещественного числа а.

Написать рекурсивную функцию для расчета степени n вещественного числа a (n — натуральное число)
Помогите пожалуйста, написал программу, но без рекурсива. Не понимаю как он вообще должен выглядеть и куда вписываться. Вот собственно сама...

Написать рекурсивную функцию для расчета степени а в степени х, х - любое число
Здравствуйте. Написать рекурсивную функцию для расчета степени а в степени х, х - любое число Нужна помощь с написанием вызова...

10
 Аватар для FreeMan108
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
01.11.2013, 15:53
C++
1
2
3
4
5
6
7
double Step (double a, int n)
{
   if (n == 1)
     return a;
  else
    return a*Step (a, n-1);
}
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
01.11.2013, 16:39
Цитата Сообщение от FreeMan108 Посмотреть сообщение
return a*Step (a, n-1)
И программа чокнется,столкнувшись спрева с нулевой,а потом с отрицательной степенью...
0
120 / 120 / 47
Регистрация: 29.03.2013
Сообщений: 237
01.11.2013, 16:50
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
double _pow(double a,int n) {
    if (n == 0) {
        return 1;
    }
    if (n == 1) {
        return a;
    }
    if (n>0) {
        return a*_pow(a,n-1);
    }
    if (n<0) {
        return 1/a * _pow (a,n+1);
    }
}
0
 Аватар для Extrim88
51 / 51 / 21
Регистрация: 08.02.2013
Сообщений: 189
01.11.2013, 16:56
Ветка n < 0 не нужна, в условии задания говорится, что n - натуральное число.

Добавлено через 2 минуты
Поэтому тип переменной n лучше сделать беззнаковым целым, например unsigned int.
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
01.11.2013, 17:18
Цитата Сообщение от Extrim88 Посмотреть сообщение
Ветка n < 0 не нужна, в условии задания говорится, что n - натуральное число.
А откуда программе знать,какое n?Я захочу и введу,а программа сломается
Цитата Сообщение от Extrim88 Посмотреть сообщение
оэтому тип переменной n лучше сделать беззнаковым целым, например unsigned int.
Дай Бог,чтобы это спасло.Извиняюсь,не подумал об этой возможности
Цитата Сообщение от scenotaph Посмотреть сообщение
double _pow(double a,int n) { if (n == 0) { return 1; }
Прога должна 1 выводить,а так она проигнорирует это дело.
Цитата Сообщение от scenotaph Посмотреть сообщение
if (n>0) { return a*_pow(a,n-1); }
n>1
Цитата Сообщение от scenotaph Посмотреть сообщение
if (n<0) { return 1/a * _pow (a,n+1); } }
Просто return 1/a * _pow (a,n), иначе введу n=-1 и Hello,error
0
120 / 120 / 47
Регистрация: 29.03.2013
Сообщений: 237
01.11.2013, 17:22
n - целое. n>1 и n>0 будут эквиваленты, т.к. в начале оно сравнивается с единицей и нулём
Вводите -1, ничего не будет

А ваш "Просто return 1/a * _pow (a,n) " приведет к бесконечной рекурсии
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
01.11.2013, 18:06
Цитата Сообщение от scenotaph Посмотреть сообщение
Вводите -1, ничего не будет
Совсем ничего?
Цитата Сообщение от scenotaph Посмотреть сообщение
if (n == 0) { return 1; }
Зачем тогда это писал,если
Цитата Сообщение от scenotaph Посмотреть сообщение
n>1 и n>0 будут эквиваленты
?
0
120 / 120 / 47
Регистрация: 29.03.2013
Сообщений: 237
01.11.2013, 18:11
При вводе -1 всё замечательно считает.
Потому что если степень нулевая, то возвращаем один. Что за вопросы глупые?
0
 Аватар для FreeMan108
121 / 121 / 32
Регистрация: 04.03.2013
Сообщений: 370
01.11.2013, 20:29
Цитата Сообщение от Matan! Посмотреть сообщение
И программа чокнется,столкнувшись спрева с нулевой,а потом с отрицательной степенью...
Это невозможно. Сказанно, что n - натуральное.

C++
1
2
if (n == 1)
  return a;
Не может быть такого вызова функции, где n <= 0. Этот кусочек кода это предотвращает.

Добавлено через 5 минут
Цитата Сообщение от Matan! Посмотреть сообщение
А откуда программе знать,какое n?Я захочу и введу,а программа сломается
Вот обработка ошибки. Специально для тех, кому не терпится что-то взломать.

C++
1
2
if (n < 1)
  return ID_ERROR;
0
 Аватар для Matan!
1882 / 1016 / 228
Регистрация: 31.05.2013
Сообщений: 6,645
Записей в блоге: 6
03.11.2013, 07:41
Цитата Сообщение от FreeMan108 Посмотреть сообщение
Вот обработка ошибки. Специально для тех, кому не терпится что-то взломать.
Код C++

if (n < 1)
return ID_ERROR;
Другое дело

Добавлено через 1 минуту
Цитата Сообщение от FreeMan108 Посмотреть сообщение
Это невозможно. Сказанно, что n - натуральное.
Код C++

if (n == 1)
return a;
Не может быть такого вызова функции, где n <= 0. Этот кусочек кода это предотвращает.
Ничего он не предотвращает... Всего навсего указывает программе,как себя вести,если показатель равен 1.

Добавлено через 2 минуты
Что,кстати говоря,совершенно бессмысленно,так как с матем.точки зрения в 1 нет никаких особенностей,поэтому программа сама прекрасно справится без каких-либо инструкций.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2013, 07:41
Помогаю со студенческими работами здесь

Написать рекурсивную функцию для вычисления натуральной степени заданного целого числа
Рекурсия. Помогите исправить программу: Напишите рекурсивную функцию для вычисления натуральной степени заданного целого числа. ...

Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле:
Описать рекурсивную функцию вещественного типа, находящую приближенное значение корня K-й степени из числа X по формуле: Y0 = 1, YN+1 =...

Написать рекурсивную функцию нахождения степени числа
2. Написать рекурсивную функцию нахождения степени числа.

Реализовать рекурсивную функцию вычисления степени из числа
Добрый день , помогите решить задачи : ==================================================================================== ...

Написать рекурсивную функцию для нахождения n-го числа арифметической прогрессии
2. Даны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождения: а) n-го числа прогрессии;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru