Чтение онлайн

на главную

Жанры

Рассказы о математике с примерами на языках Python и C
Шрифт:

print(p)

Это же можно сделать с помощью индексов (нумерация элементов массива начинается с 0):

for i in range(0, len(values)):

print (values[i])

Си: Динамические массивы поддерживаются только в C++, статические массивы создаются так:

int values[7] = { 1,2,3,5,10,15,20 };

for(int i=0; i<7; i++) {

printf("%d\n", values[i]);

}

При

желании можно слегка схитрить, если максимальный размер массива заранее известен.

int values[255] = { 1,2,3,5,10,15,20 }, cnt = 7;

for(int i=0; i<cnt; i++) {

printf("%d\n", values[i]);

}

values[cnt] = 7;

cnt++;

Можно пользоваться динамическим распределением памяти, хотя это немного сложнее:

int *valuesArray = (int*)malloc(10*sizeof(int));

valuesArray[0] = 1;

valuesArray[1] = 3;

valuesArray[2] = 15;

valuesArray = (int*)realloc(valuesArray, 25*sizeof(int));

valuesArray[20] = 555;

valuesArray[21] = 777;

for(int i=0; i<25; i++) {

printf("%d\n", valuesArray[i]);

}

free(valuesArray);

Важно заметить, что неинициализированные значения массива, например

valuesArray[16]
, будут содержать «мусор», некие значения которые были до этого в памяти. Си достаточно низкоуровневый язык, и такие моменты нужно учитывать. Хорошим тоном является инициализация всех переменных при их описании. Вот такой код формально не содержит ошибок:

int x;

printf("x=%d\n", x);

Однако при его запуске выведется значение 4196608, или 0, или 32, результат непредсказуем. В большой программе такие ошибки может быть сложно найти, тем более что проявляться они могут не всегда.

Арифметические операции

Сложение, умножение,деление:

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)

Подсчитаем сумму элементов массива:

values = [1,2,3,5,10,15,20]

sum = 0

for p in values:

sum += p

print(sum)

Для более сложных операций необходимо подключить модуль

math
. Вычисление квадратного корня:

import math

print(math.sqrt(x3))

Условия задаются отступами, аналогично циклам:

print (x1)

if x1 % 2 == 0:

print("x1 четное число")

else:

print("x1 нечетное число")

Python может делать вычисления с большими числами, что достаточно удобно:

x1 = 12131231321321312312313131124141

print(10 * x1)

print(math.sqrt(x1))

Можно вывести даже факториал числа 1024, что не сделает ни один калькулятор:

print(math.factorial(1024))

В Си вычисление суммы элементов массива выглядит так:

int sum = 0;

for(int i=0; i<cnt; i++) {

sum += values[i];

}

printf("Sum=%d\n", sum);

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

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. Затем чтобы еще больше запутать отгадывающего, попросим сделать следующие действия:

–  удвоим число (146)

–  прибавляем 12 (158)

–  разделим на 2 (79)

–  вычтем из результата исходное число (79 - 73 = 6)

В конце мы отгадываем, что результат — 6. Суть в том, что число 6 появляется независимо от того, какое число загадал человек.

Математически, это доказывается очень просто:

Поделиться:
Популярные книги

Приручитель женщин-монстров. Том 3

Дорничев Дмитрий
3. Покемоны? Какие покемоны?
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Приручитель женщин-монстров. Том 3

Хозяйка лавандовой долины

Скор Элен
2. Хозяйка своей судьбы
Любовные романы:
любовно-фантастические романы
6.25
рейтинг книги
Хозяйка лавандовой долины

Совок 9

Агарев Вадим
9. Совок
Фантастика:
попаданцы
альтернативная история
7.50
рейтинг книги
Совок 9

Столичный доктор

Вязовский Алексей
1. Столичный доктор
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Столичный доктор

Темный Лекарь 5

Токсик Саша
5. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 5

Ваше Сиятельство 5

Моури Эрли
5. Ваше Сиятельство
Фантастика:
городское фэнтези
аниме
5.00
рейтинг книги
Ваше Сиятельство 5

Удиви меня

Юнина Наталья
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Удиви меня

Прогрессор поневоле

Распопов Дмитрий Викторович
2. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Измена. За что ты так со мной

Дали Мила
1. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. За что ты так со мной

Неожиданный наследник

Яманов Александр
1. Царь Иоанн Кровавый
Приключения:
исторические приключения
5.00
рейтинг книги
Неожиданный наследник

Снегурка для опера Морозова

Бигси Анна
4. Опасная работа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Снегурка для опера Морозова

На границе империй. Том 7. Часть 3

INDIGO
9. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.40
рейтинг книги
На границе империй. Том 7. Часть 3

Идущий в тени 5

Амврелий Марк
5. Идущий в тени
Фантастика:
фэнтези
рпг
5.50
рейтинг книги
Идущий в тени 5