М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
UlyaYouth111
UlyaYouth111
17.08.2020 04:04 •  Информатика

Быстрое возведение в степень Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями: an=(a2)n/2 при чётном n, an=a∗an−1 при нечётном n. Реализуйте алгоритм быстрого возведения в степень. Если вы всё сделаете правильно, то количество умножений будет иметь порядок log2n. Нельзя использовать операцию возведения в степень. Входные данные Вводится действительное число a и целое неотрицательное число n. Выходные данные Выведите ответ на задачу. Примеры Ввод 2 7 Вывод 128 Ввод 1.00001 100000 Вывод 2.71827

👇
Ответ:
egordima2003
egordima2003
17.08.2020

Прикрепил картинку с кодом программы на python

============

Не забывайте нажать " ", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"

Бодрого настроения и добра!

Успехов в учебе!


Быстрое возведение в степень Возводить в степень можно гораздо быстрее, чем за n умножений! Для этог
4,5(86 оценок)
Открыть все ответы
Ответ:
NikitaBossTV
NikitaBossTV
17.08.2020

код на C++:

#include <iostream>

using namespace std;

int main()

{

   const short R = 3;

   const short C = 3;

   long long int A[R][C];

   for (int i = 0; i < C; i++)

   {

       for (int j = 0; j < R; j++)

       {

           cin >> A[i][j];

       };

   };

   

   short result = 0;

   for (int i = 0; i < C; i++)

   {

       for (int j = 0; j < R; j++)

       {

           if (A[i][j] == 0)

           {

               result++;

           };

       };

   

   };

   cout << result << endl;

   return 0;

}

Объяснение:

Я не понял, что значит A(3,3), но я посчитаю это двумерным массивом 3 на 3. Делаем вложенный цикл и там сравниваем массив с индексами i и j с 0, и если да, то увеличиваем result на 1, а если нет, то ничего

4,6(49 оценок)
Ответ:
Polino4ka171
Polino4ka171
17.08.2020
В "классическом" языке Паскаль, как его описал Н.Вирт, есть только функции для возведения во вторую степень и извлечения квадратного корня.
Поэтому для возведения в любую другую степень используют основное логарифмическое тождество \displaystyle a^b=e^{b\ln(a)}

На паскале это записывается exp(b*ln(a))

В современных реализациях паскаля добавлена функция power(a,b), которая решает проблему.

Итак, "классическая запись"
b:=a*a+c*c; { возможно также sqr(a)+sqr(b) }
q:=exp(b*ln(cos(a+2.53*c)));

И запись современная
b:=a*a+c*c; // возможно также sqr(a)+sqr(b)
q:=power(cos(a+2.53*c),b);
4,5(21 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ