x1 = 3
x2 = (2*x1*x1 + 10*x1 + 7)/x1
Возведение в степень:
x3 = x1**10
print(x1, x2, x3)
Переменную также можно увеличить или уменьшить:
x1 += 1
x1 -= 10
print(x1)
Остаток от деления:
x2 = x1 % 6
print (x2)
Условия в Python кстати, задаются отступами, аналогично циклам:
print (x1)
if x1 % 2 == 0:
print("x1 четное число")
else:
print("x1 нечетное число")
Подсчитаем сумму элементов массива:
values = [1,2,3,5,10,15,20]
s = 0
for p in values:
s += p
print(s)
Этот способ математически корректный, но медленный - лучше для этого можно воспользоваться встроенной функцией sum:
values = [1,2,3,5,10,15,20]
print(sum(values))
В Си вычисление суммы элементов массива выглядит так:
int sum = 0;
for(int i=0; i<cnt; i++) {
sum += values[i];
}
printf("Sum=%d\n", sum);
Для более сложных операций в Python необходимо подключить модуль math. Вычисление квадратного корня:
import math
print(math.sqrt(x3))
Python может делать вычисления с большими числами, что достаточно удобно:
import math
x1 = 12131231321321312312313131124141
print(10*x1)
print(math.sqrt(x1))
Можно вывести даже факториал числа 1024, что не сделает ни один калькулятор:
import math
print(math.factorial(1024))
Пожалуй, этого не хватит чтобы устроиться на работу программистом, но вполне достаточно для понимания большинства примеров в книге.
Используем Jupiter Notebook
Большинство примеров в книге написаны на языке Python. Однако, кроме описанного выше “классического” способа запуска программ, есть другой, весьма популярный сейчас способ - использование “записных книжек”, или notebooks. Такая система работает для языка Python, и называется Jupiter Notebook. Идея состоит в интерактивном редактировании страницы с кодом и текстом, где по сути, программа, больше похожа на текст книги. Это может быть удобно для каких-то экспериментов, где можно пробовать фрагменты кода и сразу видеть результат.
Для установки Jupiter Notebook для Windows достаточно ввести команду C:\Python27\Scripts\pip.exe install jupyter. Затем достаточно ввести команду jupyter notebook - запустится сервер, а в браузере откроется визуальный редактор, где можно редактировать код и видеть результат. По умолчанию редактор покажет файлы в текущем каталоге, выглядеть это может примерно так.
Файлы .ipynb - это файлы “записных книжек”, которые мы можем открыть.
Создадим новый файл, нажав кнопку New в правой части экрана. Появляется окно где мы можем писать код и тут же выполнять его, нажав кнопку
Для примера построим график функции количества простых чисел (подробнее в гл.5).
“Записную книжку” Jupiter можно сохранить, закрыть, переименовать и пр.
В данной книге такой способ запуска Python-программ не используется, но кому-то он может оказаться более удобным. Ну а сейчас вернемся к математике.
2. Математические фокусы
Для “разминки” рассмотрим несколько фокусов, имеющих отношение к числам. Никаких особых сложностей в них нет, но их знание поможет развеселить или удивить знакомых знанием математики.
Умножение в уме числа на 11
Рассмотрим простой пример:
26*11 = 286
Сделать это в уме просто, если взять сумму чисел и поместить в середину:
26*11 = 2 [ 2+6 ] 6
Аналогично 43*11 = 473, 71*11 = 781 и так далее.
Чуть длиннее расчет, если сумма чисел больше либо равна 10. Но и тогда все просто: в середину кладется младший разряд, а 1 уходит в старший разряд:
47*11 = [4] [4+7=11] [7] = [4+1] [1] [7] = 517
94*11 = [9] [9+4=13] [4] = [10] [3] [4] = 1034
Возведение в квадрат числа, оканчивающегося на 5
Подсчитать это тоже просто. Если число рассмотреть как пару NM, то первая часть результата - это число N, умноженное на (N+1), вторая часть числа - всегда 25.
352 = [3*4] [25] = 12 25
Аналогично:
252 = [2*3] 25 = 625 852 = [8*9] 25 = 7225 и так далее.
Отгадывание результата
Попросим человека загадать любое число. Например 73. Затем чтобы еще больше запутать отгадывающего, попросим сделать следующие действия: