Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
2 апреля 2023 00:09
1583
Даю 20баллов!!! Только на C++!!!!!Быстрое возведение в степень
Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями:
an=(a2)n/2 при чётном n,
an=a∗an−1 при нечётном n.
Реализуйте алгоритм быстрого возведения в степень. Если вы всё сделаете правильно, то количество умножений будет иметь порядок log2n.
Нельзя использовать встроенную операцию возведения в степень, в силу особенностей тестирующей системы избегайте слова pow в названии функции.
Входные данные
Вводится действительное число a и целое неотрицательное число n.
Выходные данные
Выведите ответ на задачу.
Примеры

1
ответ
Ответ:
#include <iostream>
double s(double a, int er)
{
if (er == 0)
{
return 1;
}
if (er % 2 == 0)
{
return s(a * a, er / 2);
}
return a * s(a, er - 1);
}
int main()
{
double a;
int n;
std::cin >> a >> n;
std::cout << s(a, n);
return 0;
}
Объяснение:
#include <iostream>
double s(double a, int er)
{
if (er == 0)
{
return 1;
}
if (er % 2 == 0)
{
return s(a * a, er / 2);
}
return a * s(a, er - 1);
}
int main()
{
double a;
int n;
std::cin >> a >> n;
std::cout << s(a, n);
return 0;
}
Объяснение:
0
·
Хороший ответ
4 апреля 2023 00:09
Остались вопросы?
Еще вопросы по категории Информатика
напишите введение для курсовой на тему "Алгоритмы и их свойства" (1-1,5 стр.)...
Маша хотела поделиться об Олимпийских играх с подругами, но забыла, где именно она сохранила фотографию Сочи. Ниже представлена файловая структура дис...
Старший помощник лом оказался старательным учеником чтобы порадовать капитана Врунгеля он выучил морскую Семафорная Азбука которой каждая буква кодиру...
Что будет результатом работы алгоритма? 1) Если правее Робота не встретится препятствия, то он переместится на 51 клетку вправо 2) Если левее Робота...
У Тани дома живут ёжики, и, чтобы не запутаться в порциях корма, она написала программу, которая рассчитывает, на сколько дней хватит еды и сколько ли...