Возведение в квадрат трехзначных чисел. Все для постройки дома по-быстрому: технологии, личный опыт и материалы для строительства дома

Adobe Flash Player доживает свои последние годы. Данная платформа морально устарела, и разработчики перестанут поддерживать её уже к 2020 году. Многие компании, программисты и энтузиасты уже начали отказываться от проверенного формата в пользу прогрессивных, но ещё «сырых» технологий. Одним из таких новшеств является видеоплейер «HTML5», который, потенциально может заменить старый добрый Флэш Плеер.

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

Если при просмотре видео на компьютере возникают графические искажения, пользователю не стоит расстраиваться и искать альтернативу для просмотра. Первое что надо сделать – это проверить работоспособность своего ПК, все ли обновления, драйвера и кодеки есть и в рабочем состоянии. Второй нюанс – это проверка видеоплейера, встроенного в сам интернет обозреватель Мозила. Разработчики из Mozilla Corporation стараются угодить всем своим фанатам и просто пользователям поисковой системы. Поэтому у каждого есть возможность просмотра видеоизображений через различные плееры: Flash Player или HTML5. Чтобы проверить, какой плеер включён в браузере фаерфокс, достаточно нажать правой кнопкой мыши по экрану с видеорядом.

Как отключить HTML5 в Firefox

Если пользовательский персональный компьютер уступает по техническим характеристикам своим современным собратьям, можно попробовать сменить плеер с HTML5 на Adobe Flash Player. Для этого необходимо зайти в скрытые настройки браузера, набрав в поисковой строке «about:config ». Разработчики любезно предупреждают о рисках, связанных с изменениями в «тонких» настройках. Принимаем ответственность на себя.

В окне «Поиск:», для простоты нахождения для изменения параметров, надо набрать английское слово «media».

Четыре параметра, которые могут быть включены по-молчанию, надо сменить с «true» на «false». То есть выключить их двойным щелчком левой кнопкой мыши.

  • media.ogg.enabled
  • media.wave.enabled
  • media.webm.enabled
  • media.windows-media-foundation.enabled

После перезагрузки браузера Mozilla Firefox настройки вступят в силу, и новый плеер HTML5 сменится на Adobe Flash Player.

Как включить HTML5 в Firefox

Если необходимо провести обратную манипуляцию и сменить старый проигрыватель от Adobe на прогрессивный аналог, пользователю нужно провести те же манипуляции с вышеупомянутыми параметрами с «false» на «true». Перезапустив интернет обозреватель, видео должно показывать без помех и сбоев.

Как известно, площадь прямоугольника вычисляется перемножением длин двух его различных сторон. У квадрата все стороны равны, поэтому нужно перемножить сторону саму на себя. Отсюда и возникло выражение "возвести в квадрат". Пожалуй, самый простой способ возвести любое число в квадрат – взять обычный калькулятор и перемножить нужное число само на себя. Если под рукой нет калькулятора – можно использовать встроенный калькулятор в мобильном телефоне. Для более продвинутых пользователей можно посоветовать воспользоваться приложением Office Microsoft Excel, особенно, если подобные вычисления нужно проводить достаточно часто. Для этого необходимо выделить произвольную ячейку, например G7, и вписать в нее формулу =F7*F7. Далее в ячейку F7 ввести любое число, а в ячейке G7 получить результат.

Как возвести в квадрат число, последняя цифра которого 5. Для возведения в квадрат этого числа нужно отбросить последнюю цифру числа. Полученное число необходимо перемножить с числом на 1 большим. Затем нужно дописать число 25 справа после полученного результата. Пример. Пусть требуется получить квадрат числа 35. После того, как будет отброшена последняя цифра 5, остается число 3. Добавляется 1- получается число 4.3х4=12. Дописывается 25 и получается результат 1225. 35х35=3*4 дописать 25=1225.

Как возвести в квадрат число, последняя цифра которого 6. Этот алгоритм подойдет для тех, кто разобрался с вопросом, как возвести в квадрат число, оканчивающиеся на цифру 5. Как известно из математики, квадрат двучлена можно рассчитать по формуле (А+В) х(А+В) =АхА+2хАхВ + ВхВ. В случае с возведением в квадрат числа A, последняя цифра которого 6, это число можно предтставить как А=В+1, где В - число, которое на 1 меньше числа А, поэтому его последняя цифра - 5. В этом случае формулу можно представить в более простом виде (В+1) х(B+1) =ВхВ+2хВх1+1х1=ВхВ + 2хВ+1. Пусть для примера это число будет 16. Решение 16 х16=15 х15+2х15 х1+1х1=225+30+1=256Устное правило: для того, чтобы найти квадрат числа, заканчивающегося на 6: нужно предыдущее число возвести в квадрат, добавить два раза предыдущее число и добавить 1.

Как возвести в квадрат числа от 11 до 29. Для возведения в квадрат чисел от 11 до 19, нужно к исходному числу добавить число единиц, получившийся результат умножить на 10 и приписать справа возведенное в квадрат число единиц. Пример. Возвести в квадрат 13. Число единиц в этом числе – 3. Далеетребуется вычислить промежуточное число 13+3=16. Затем умножить его на 10. Получается 160. Квадрат числа единиц 3х3=9. Итоговый результат 169. Для чисел третьего десятка применяется аналогичный алгоритм, только умножать нужно на 20 и квадрат единиц прибавлять, а не приписывать. Пример. Вычислить квадрат числа 24. Находится число единиц – 4. Вычисляется промежуточное число – 24+4=28. После умножения на 20 получается 560. Квадрат числа единиц 4х4=16. Итоговый результат 560+16=576.

Как возвести в квадрат числа от 40 до 60. Алгоритм достаточно прост. Сначала нужно найти, насколько данное число больше или меньше середины диапазона числа 50. К полученному результату добавить (если число больше 50) или вычесть (если число меньше 50) 25. Полученную сумму (или разность) умножить на 100. К полученному результату добавить квадрат разности между числом, квадрат которого нужно найти, и числом 50. Пример: нужно найти квадрат числа 46. Разность 50-46=4.5-4=1.1х100=0.4х4=6.0+16=2116. Итог: 46х46=2116.

Еще один прием как возвести в квадрат числа от 40 до 60. Для того, чтобы вычислить квадрат числа от 40 до 49, необходимо число единиц увеличить на 15, полученный результат умножить на 100, справа от него приписать квадрат разности между последней цифрой заданного числа и 10. Пример. Вычислить квадрат числа 42. Число единиц этого числа - 2. Добавляется 15: 2+15=17. Находится разность этого же числа единиц и 10. Она равна 8. Возводится в квадрат: 8х8=64. Число 64 приписывается справа к предыдущему результату 17. Получается итоговое число 1764. Если число находится в диапазоне от 51 до 59, то для возведения его в квадрат используется тот же алгоритм, только к числу единиц нужно прибавлять 25.

Как возводить в квадрат в уме любое двузначное число. Если человек знает, как возводить в квадрат однозначные числа, другими словами - знает таблицу умножения, то у него не возникнет проблем при вычислении квадратов двузначных чисел. Пример. Нужно возвести двузначное число 36 в квадрат. Это число умножается на количество своих десятков. 36х3=8. Далее нужно найти произведение цифр числа: 3х6=18. Затем сложить оба результата. 108+18=126. Следующий шаг: нужно возвести в квадрат единицы исходного числа: 6х6=36. В полученном произведении определяется количество десятков – 3 и добавляется к предыдущему результату: 126+3=129. И последний шаг. Справа от полученного результата приписывается количество единиц исходного числа, в данном примере - 6. Конечный результат – число 1296.

Существует множество способов как возводить в квадрат различные числа. Некоторые из приведенных алгоритмов достаточно простые, некоторые – достаочно громоздкие и на первый взгляд непонятные. Многими из них люди пользуются веками. Каждый человек может сам разработать свои собственные более понятные и интересные алгоритмы. Но если есть проблемы с устным счетом или возникли другие трудности – придется привлечь технические средства.

*квадраты до сотни

Для того, чтобы бездумно не возводить в квадрат по формуле все числа, нужно максимально упростить себе задачу следующими правилами.

Правило 1 (отсекает 10 чисел)

Для чисел, оканчивающихся на 0.
Если число заканчивается на 0, умножить его не сложнее, чем однозначное число. Стоит лишь дописать пару нулей.
70 * 70 = 4900.
В таблице отмечены красным.

Правило 2 (отсекает 10 чисел)

Для чисел, оканчивающихся на 5.
Чтобы возвести в квадрат двузначное число, оканчивающееся на 5, нужно умножить первую цифру (x) на (x+1) и дописать к результату “25”.
75 * 75 = 7 * 8 = 56 … 25 = 5625.
В таблице отмечены зеленым.

Правило 3 (отсекает 8 чисел)

Для чисел от 40 до 50.
XX * XX = 1500 + 100 * вторую цифру + (10 - вторая цифра)^2
Достаточно трудно, верно? Давайте разберем пример:
43 * 43 = 1500 + 100 * 3 + (10 - 3)^2 = 1500 + 300 + 49 = 1849.
В таблице отмечены светло-оранжевым.

Правило 4 (отсекает 8 чисел)

Для чисел от 50 до 60.
XX * XX = 2500 + 100 * вторую цифру + (вторая цифра)^2
Тоже достаточно трудно для восприятия. Давайте разберем пример:
53 * 53 = 2500 + 100 * 3 + 3^2 = 2500 + 300 + 9 = 2809.
В таблице отмечены темно-оранжевым.

Правило 5 (отсекает 8 чисел)

Для чисел от 90 до 100.
XX * XX = 8000+ 200 * вторую цифру + (10 - вторая цифра)^2
Похоже на правило 3, но с другими коэффициентами. Давайте разберем пример:
93 * 93 = 8000 + 200 * 3 + (10 - 3)^2 = 8000 + 600 + 49 = 8649.
В таблице отмечены темно-темно-оранжевым.

Правило №6 (отсекает 32 числа)

Необходимо запомнить квадраты чисел до 40. Звучит дико и трудно, но на самом деле до 20 большинство людей знают квадраты. 25, 30, 35 и 40 поддаются формулам. И остается лишь 16 пар чисел. Их уже можно запомнить при помощи мнемоники (о которой я также хочу рассказать позднее) или любыми другими способами. Как таблицу умножения:)
В таблице отмечены синим.

Вы можете запомнить все правила, а можете запомнить выборочно, в любом случае все числа от 1 до 100 подчиняются двум формулам. Правила же помогут, не используя эти формулы, быстрее посчитать больше 70% вариантов. Вот эти две формулы:

Формулы (осталось 24 цифры)

Для цифр от 25 до 50
XX * XX = 100(XX - 25) + (50 - XX)^2
Например:
37 * 37 = 100(37 - 25) + (50 - 37)^2 = 1200 + 169 = 1369

Для цифр от 50 до 100

XX * XX = 200(XX - 25) + (100 - XX)^2

Например:
67 * 67 = 200(67 - 50) + (100 - 67)^2 = 3400 + 1089 = 4489

Конечно не стоит забывать про обычную формулу разложения квадрата суммы (частный случай бинома Ньютона):
(a+b)^2 = a^2 + 2ab + b^2.
56^2 = 50^2 + 2*50*6 + 6*2 = 2500 + 600 + 36 = 3136.

Возведение в квадрат, возможно, не самая полезная в хозяйстве вещь. Не сразу вспомнишь случай, когда может понадобиться квадрат числа. Но умение быстро оперировать числами, применять подходящие правила под каждое из чисел отлично развивает память и «вычислительные способности» вашего мозга .

Кстати, думаю, все читатели хабры знают, что 64^2 = 4096, а 32^2 = 1024.
Многие квадраты чисел запоминаются на ассоциативном уровне. Например, я легко запомнил 88^2 = 7744, из-за одинаковых чисел. У каждого наверняка найдутся свои особенности.

Две уникальные формулы я впервые нашел в книге «13 steps to mentalism», которая мало связана с математикой. Дело в том, что раньше (возможно, и сейчас) уникальные вычислительные способности были одним из номеров в сценической магии: фокусник рассказывал байку о том, как он получил сверхспособности и в доказательство этого моментально возводит числа до сотни в квадрат. В книге так же указаны способы возведения в куб, способы вычитания корней и кубических корней.

Если тема быстрого счета интересна - буду писать еще.
Замечания об ошибках и правки прошу писать в лс, заранее спасибо.

Представим, что оператора возведения в степень нет в нашем распоряжении, так что остаётся лишь умножать. Определение степени с целым неотрицательным показателем x n позволяет сделать вычисление с использованием n − 1 умножения. Но умножение - достаточно затратная операция (вспомним умножение в столбик). Поэтому постараемся свести к минимуму число выполняемых умножений.

К примеру, если показатель степени сам является степенью двойки, n = 2 m , то потребуется всего лишь m умножений, точнее, возведений в квадрат: x 2 m = x 2 2 2 … 2 . Это полезное наблюдение можно распространить на общий случай, воспользовавшись очевидными равенствами: x n = x 2 n 2 при чётном n , x ⁢ x 2 n − 1 2 при нечётном n . Можно отнестись к этим формулам как к рекурсивному способу вычисления степени. Конечно же эти соотношения нужно дополнить граничными условиями x 0 = 1 , x 1 = x .

Оказывается, количество умножений, которое следует выполнить для возведения в степень в соответствии с описанной рекурсивной процедурой, вычисляется по формуле μ n = ζ n + 2 ⁢ ε n − 2 , где ζ n и ε n - количества соответственно нулей и единиц в двоичной записи числа n . Эта величина растёт крайне медленно с ростом n , о чём свидетельствует таблица:

n μ n
1 0
10 4
100 8
1000 14
10000 17
100000 21
1000000 25
10000000 30
100000000 37
1000000000 41
10000000000 43

Очень маловероятно, что нам придётся возводить что-то в 10000000000 -ю степень, но, если бы пришлось, то мы обошлись бы всего сорока тремя умножениями!

Формула находится в полном согласии с рассмотренным ранее частным случаем, когда n = 2 m и ζ = m , ε = 1 . В общем же случае заметим, что цифры в двоичном разложении числа равны остаткам от многократного деления этого числа на два. Появление нулевой цифры пускает рекурсивный алгоритм по первому (чётному) пути, что добавляет одно лишнее умножение. Цифра один выбирает нечётную ветвь алгоритма, что требует двух дополнительных умножений.

Мы разберём, помимо наивной версии программы, не заслуживающей отдельного разговора из-за её тривиальности, ещё две: рекурсивную и итеративную. Оба варианта основаны на быстром методе возведения в степень.

Раньше мы обсуждали преимущества нерекурсивных алгоритмов перед рекурсивными. Было бы заманчиво реализовать быстрое возведение в степень без рекурсии, при помощи одного цикла. Эта задача оказывается не такой простой, как хотелось бы. Нам стоит вооружиться методом, который позволял бы строить циклы не в результате божественного откровения (оно посещает нас довольно редко), а целенаправленно. Метод построения цикла при помощи инварианта - как раз то, что нам сейчас нужно.

Цель каждой команды в программе - приближать нас к решению поставленной задачи, то есть к ситуации, когда нужные переменные получат наконец нужные, правильно вычисленные значения. Единственная возможность достичь такой цели - менять значения переменных на новые, это делается путём присваивания. Посмотрим с этой точки зрения на команды, образующие тело цикла.

Пусть в программе задействован набор переменных X = x y … z . Назовём его состоянием программы . Цикл считается правильным, если в результате его работы выполнено нужное соотношение между переменными. Под соотношением понимается некоторое утверждение про переменные. Что значит утверждение? Рассмотрим функцию G ⁡ X , зависящую от состояния, и принимающую логическое значение. Равенство G ⁡ X = да означает, что утверждение выполняется, а в противном случае не выполняется. Функцию G будем называть целевой функцией цикла .

Тело цикла состоит из команд, присваивающих переменным X новые значения F ⁡ X: X ← F ⁡ X Таким образом строится рекуррентная последовательность состояний программы. Цель цикла достигнута, когда целевая функция примет истинное значение, так что в качестве условия цикла можно взять выражение ¬ G ⁡ X: цикл пока ¬ G ⁡ X X ← F ⁡ X конец цикла Мы предполагаем, что к моменту входа в цикл переменные X имели начальные значения X 0 .

Зачастую бывает неудобно вычислять условие завершения цикла G ⁡ X . Тогда, если повезёт, можно попытаться подобрать более сильное условие Q ⁡ X (то есть такое, что для всех X выполняется Q ⁡ X ⇒ G ⁡ X), которое проще вычислить.

Весь этот формализм не отвечает на вопросы о том, как найти преобразование F такое, чтобы цикл рано или поздно завершился, и как построить условие окончания цикла Q ⁡ X . Метод инвариантов помогает найти и преобразование, и условие.

Ключевую роль в методе играет инвариант цикла - ещё одна функция состояния, принимающая логические значения. Функция I ⁡ X называется инвариантом цикла, если выполнены условия:

    I ⁡ X 0 - инвариант принимает истинное значение в начальном состоянии;

    I ⁡ X ⇒ I ⁡ F ⁡ X - истинность инварианта сохраняется при проходе цикла;

    I ⁡ X ∧ Q ⁡ X ⇒ G ⁡ X - одновременная истинность инварианта и условия окончания цикла влекут истинность целевого условия.

Если перед входом в цикл позаботиться о выполнении условия I ⁡ X и подобрать преобразование F ⁡ X , при котором сохраняется истинность инварианта, а цикл когда-нибудь завершится, цель будет достигнута по завершении цикла.

От абстрактных идей пора перейти к конкретным примерам. Построим алгоритм наивного вычисления степени p = x n .

Предусмотрим в программе набор переменных X = p x n . Их начальные значения (перед входом в цикл) равны X 0 = p 0 x 0 n 0 . Значения x 0 и n 0 являются входными параметрами алгоритма.

Придумаем цикл, по завершении которого переменная p получит значение x 0 n 0 , так что в качестве целевой функции примем G ⁡ p x n = p = x 0 n 0 .

Простейший (но отнюдь не самый быстрый) алгоритм сводит задачу о возведении в степень n к задаче о возведении в степень n − 1 , так что в цикле переменная n будет уменьшаться на единицу до своего обнуления. Поэтому условием окончания сделаем Q ⁡ p x n = n = 0 .

Теперь нужно подобрать инвариант. Пусть в теле цикла переменным p x n присваиваются новые значения p ′ x ′ n ′ , причём, как мы решили ранее, n ′ = n − 1 . Нетрудно проверить, что функция I ⁡ p x n = x 0 n 0 = p ⁢ x n годится на роль инварианта.

Действительно, I ⁡ p 0 x 0 n 0 = x 0 n 0 = p 0 ⁢ x 0 n 0 истинно, если положить p 0 = 1 . Второе условие, которому должен удовлетворять инвариант, также выполнено. Поскольку должно выполняться I ⁡ p x n ⇒ I ⁡ p ′ x ′ n ′ , то есть x 0 n 0 = p ⁢ x n ⇒ x 0 n 0 = p ′ ⁢ x ′ n − 1 , достаточно положить p ′ = p ⁢ x и x ′ = x , чтобы обеспечить инвариантность. Наконец, проверим третье условие, I ⁡ p x n ∧ Q ⁡ p x n ⇒ Q ⁡ p x n , то есть x 0 n 0 = p ⁢ x n ∧ n = 0 ⇒ p = x 0 n 0 . Очевидно, и оно выполняется. Проверяя условия, мы заодно нашли преобразования, происходящие в теле цикла.

Мы пришли к алгоритму p ← 1 цикл пока n ≠ 0 p n ← p ⁢ x n − 1 конец цикла

Читатель, возможно, недоумевает, зачем понадобились столь сложная подготовка для получения столь очевидного алгоритма. Возможно, быстрый вариант итеративного алгоритма более убедительно продемонстрирует мощь метода инвариантов.

Отличие быстрого алгоритма от наивного состоит в том, что в цикле переменная n вместо того, чтобы уменьшаться на единицу, уменьшается примерно вдвое. Точнее, если n чётно, оно делится пополам, а если нечётно - уменьшается на единицу и затем делится пополам. Понятно, что со временем n обратится в нуль, и это станет, как и в наивном алгоритме, условием завершения цикла.

Возьмём без изменений из наивного алгоритма инвариант I ⁡ p x n = x 0 n 0 = p ⁢ x n , и станем добиваться, чтобы выполнялось I ⁡ p x n ⇒ I ⁡ p ′ x ′ n ′ , где на этот раз n ′ = n 2 при чётном n , n − 1 2 при нечётном n . Тогда придётся обеспечить выполнение условия x 0 n 0 = p ⁢ x n ⇒ x 0 n 0 = p ′ ⁢ x ′ n 2 при чётном n , x 0 n 0 = p ′ ⁢ x ′ n − 1 2 при нечётном n , то есть p ⁢ x n = p ′ ⁢ x ′ n 2 при чётном n , p ′ ⁢ x ′ n − 1 2 при нечётном n . Чтобы это равенство выполнялось, достаточно положить p ′ = p при чётном n , p ⁢ x при нечётном n , x ′ = x 2 .

Результатом наших изысканий стал алгоритм p ← 1 цикл пока n ≠ 0 если n mod 2 = 1 p ← p ⁢ x n ← n − 1 конец если x ← x 2 n ← n 2 конец цикла

Следует признаться, что этот алгоритм мы первоначально составили, не прибегая к методу инвариантов. Программа хорошо работала, но, несмотря на её краткость, оказалась трудной для понимания. Мы никак не могли подобрать нужных слов, чтобы объяснить её читателю и доказать её правильность. И только метод инвариантов дал и объяснение, и доказательство.

Не стоит считать, что метод инвариантов делает создание любого цикла рутинной задачей. Остаётся ещё большой простор для творчества. Например, построение инварианта во многих случаях является не самым очевидным делом. Поэтому расскажем, какие соображения привели нас к инварианту I ⁡ p x n = x 0 n 0 = p ⁢ x n . В поисках инвариантного соотношения между переменными программы, сохраняющего истинность при повторениях тела цикла, мы составили таблицу значений этого набора переменных. Для примера мы выбрали возведение двойки в тринадцатую степень: p x n 1 2 13 2 4 6 2 16 3 32 256 1 8192 65536 0

Закономерность, выполняемая в каждой строке таблицы, была быстро найдена: значение выражения p ⁢ x n оказалось одним и тем же, и равным как раз 2 13 .

Оказывается, задача о быстром возведении числа в степень n тесно связана вот с какой задачей. Представим вычислительную машину, которая располагает лишь одним регистром (ячейкой памяти), способным хранить целое неотрицательное число. Набор команд этой воображаемой машины содержит только две инструкции: D удваивает содержимое регистра (от слова Double - удвоить) и I увеличивает регистр на единицу (Increment - увеличить). Изначально регистр содержит ноль. Требуется найти наиболее короткую программу для машины, после выполнения которой в регистре окажется число n . Программа - это некоторая конечная последовательность инструкций D и I .

Для любого заданного n существует бесконечно много программ. К примеру, всегда годится программа I I I … I (всего n инструкций I). Кроме того, приписывание любого количества инструкций D к началу правильной программы, очевидно, не меняет её правильность.

Получается своеобразная система счисления: каждому целому неотрицательному числу можно поставить в соответствие программу для его получения - слово над алфавитом из двух букв (или лучше сказать, цифр), D и I . Недостатком этой системы счисления является её многозначность: для каждого числа найдётся бесконечно много представлений. Можно попытаться устранить этот недостаток, если среди всевозможных представлений выбирать самое короткое. Но даже самое короткое представление не является единственным. Понятно, кратчайшее представление следует искать среди начинающихся с I , так как если оно начинается с D , его можно укоротить, выкинув это D . Теперь заметим, что если I I … - кратчайшее представление, то I D … - также кратчайшее представление (увеличение единицы на единицу равносильно её удвоению). При всех остальных значениях регистра удвоение даёт больший результат, чем прибавление единицы. Эту единственную оставшуюся неоднозначность устраняем, потребовав дополнительно, чтобы в представлении не было подряд двух «цифр» I . Полученное представление назовём каноническим .

Оказывается, каноническое представление можно легко получить из двоичной записи числа n: нужно каждый ноль заменить на «цифру» D , а каждую единицу - на «цифры» D I . После того, как это будет сделано, следует отбросить «цифру» D из начала полученной программы, если она там окажется. Например, для n = 13 = 1101 2 получается программа I D I D D I . И действительно, 13 = 0 + 1 ⋅ 2 + 1 ⋅ 2 ⋅ 2 + 1 .

Но какое же всё это имеет отношение к быстрому возведению в степень? Пусть имеется некоторое представление показателя степени n . Это значит, что n получается из нуля в результате последовательных увеличений на единицу или удвоений. Но прибавление единицы к показателю степени равносильно домножению всей степени на x , а удвоение показателя - возведению степени в квадрат. Если в нашем распоряжении имеется готовое представление показателя степени, получаем алгоритм p ← 1 цикл для каждой цифры δ из представления n если δ = I p ← p ⁢ x иначе p ← p 2 конец если конец цикла Беда в том, что для получения «цифр» представления прежде придётся устроить другой цикл. Совместить оба цикла будет проблематично, поскольку «цифры» нужны в порядке их записи, то есть слева направо. При этом их гораздо проще получать справа налево (точно так же, как и цифры двоичной записи числа). Наше решение, ради которого мы занялись методом инвариантов, обходит эту трудность. Тот цикл неявно получает «цифры» представления показателя степени справа налево и в зависимости от очередной цифры выполняет нужные действия: цикл пока n ≠ 0 если n mod 2 = 1 I n ← n − 1 иначе D n ← n 2 конец если конец цикла Здесь в случае I следует выполнить команду p ← p ⁢ x , а в случае D - команду x ← x 2 . Разумеется, перед циклом нужно присваивание p ← 1 . Получившийся алгоритм, как легко видеть, равносилен созданному ранее.

Основная трудность нашей задачи заключалась в создании алгоритма. Теперь, когда алгоритмы готовы, не составит никакого труда переложить их на Perl. В связи с этим мы опускаем раздел «Разработка» и сразу переходим к готовым программам.

Одним из наиболее частых математических действий, применяемых в инженерных и других вычислениях, является возведение числа во вторую степень, которую по-другому называют квадратной. Например, данным способом рассчитывается площадь объекта или фигуры. К сожалению, в программе Excel нет отдельного инструмента, который возводил бы заданное число именно в квадрат. Тем не менее, эту операцию можно выполнить, использовав те же инструменты, которые применяются для возведения в любую другую степень. Давайте выясним, как их следует использовать для вычисления квадрата от заданного числа.

Как известно, квадрат числа вычисляется его умножением на самого себя. Данные принципы, естественно, лежат в основе вычисления указанного показателя и в Excel. В этой программе возвести число в квадрат можно двумя способами: использовав знак возведения в степень для формул «^» и применив функцию СТЕПЕНЬ . Рассмотрим алгоритм применения данных вариантов на практике, чтобы оценить, какой из них лучше.

Способ 1: возведение с помощью формулы

Прежде всего, рассмотрим самый простой и часто используемый способ возведения во вторую степень в Excel, который предполагает использование формулы с символом «^» . При этом, в качестве объекта, который будет возведен в квадрат, можно использовать число или ссылку на ячейку, где данное числовое значение расположено.

Общий вид формулы для возведения в квадрат следующий:

В ней вместо «n» нужно подставить конкретное число, которое следует возвести в квадрат.

Посмотрим, как это работает на конкретных примерах. Для начала возведем в квадрат число, которое будет составной частью формулы.


Теперь давайте посмотрим, как возвести в квадрат значение, которое расположено в другой ячейке.


Способ 2: использование функции СТЕПЕНЬ

Также для возведения числа в квадрат можно использовать встроенную функцию Excel СТЕПЕНЬ . Данный оператор входит в категорию математических функций и его задачей является возведение определенного числового значения в указанную степень. Синтаксис у функции следующий:

СТЕПЕНЬ(число;степень)

Аргумент «Число» может представлять собой конкретное число или ссылку на элемент листа, где оно расположено.

Аргумент «Степень» указывает на степень, в которую нужно возвести число. Так как перед нами поставлен вопрос возведения в квадрат, то в нашем случае данный аргумент будет равен 2 .

Теперь посмотрим на конкретном примере, как производится возведение в квадрат с помощью оператора СТЕПЕНЬ .


Также для решения поставленной задачи вместо числа в виде аргумента можно использовать ссылку на ячейку, в которой оно расположено.