Посчитать сумму всех чисел. Посчитать сумму всех чисел Посчитать сумму всех чисел от любого числа до любого числа через PHP

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

Условие задачи:

Необходимо быстро сложить все числа от 1 до 100 друг за другом и узнать сумму всех чисел.

Решение задачи:

На самом деле, когда мы первый раз решали эту задачку, то мы решили её не правильно! Но мы не будем писать о неправильном решении данной задачки.

И решение такое простое и тривиальное - нужно сложить 1 и 100 и умножить на 50.(Такое решение было у Карла Гауса, когда он был совсем маленьким...)

(1 + 100)*50.

Как данную задачку решить через php?

Посчитать сумму всех чисел от 1 до 100 через PHP.

Когда мы уже решили эту задачку, то решили посмотреть, что пишут в «интеренетах» по данному вопросу! И нашел какую-то форму, где юные дарования не могли решить эту задачку и пытались сделать это через цикл.

Если специально не стоит условие, чтобы сделать именно через цикл, то и смысла делать это через цикл нет никакого!

И да! Не забываем, что в php можно решить задачу множеством способов! 1.

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

Давайте реализуем наше решение в самой простой форме:

$end = $_POST["peremennaya"];

$res = $end/2*($i + $end);

Результат:

Посчитать сумму всех чисел от любого числа до любого числа через PHP.

2.

И проверим передаваемые данные на число…

$two = strip_tags($_POST["peremennaya_2"]);

$tree = strip_tags($_POST["peremennaya_3"]);

if((is_numeric($two)) and (is_numeric($tree)))

$res = $tree/2*($two + $tree);

echo "Результат: ". $res;

echo " Не нужно совать в форму всякую хрень...";

Первый параметр равен нулю ($i=1), второй параметр менее или равно этому числу($i < $end;), которое будет оправлено через форму.

Покажем последовательность, как она будет увеличиваться с каждым новым витком цикла.

$end = strip_tags($_POST["peremennaya"]);

for ($i=1; $i < $end; $i++) {

$res = $res +$i;

echo $res."
";

Был ленив. Чтобы чем-то занять детей на долгое время, а самому вздремнуть, он попросил их сложить числа от 1 до 100.

Гаусс быстро дал ответ: 5050. Так быстро? Учитель не поверил, но юный гений оказался прав. Складывать все числа от 1 до 100 - это для слабаков! Гаусс нашёл формулу:

$$\sum_{1}^{n}=\frac{n(n+1)}{2}$$

$$\sum_{1}^{100}=\frac{100(100+1)}{2}=50\cdot 101=5050$$

Как это у него получилось? Давайте попробуем разобраться на примере суммы от 1 до 10.

Первый способ: разбить числа на пары

Запишем числа от 1 до 10 в виде матрицы c двумя строками и пятью столбцами:

$$\left(\begin{array}{c}1&2&3&4&5\\ 10&9&8&7&6 \end{array}\right)$$

Интересно, сумма каждого столбца равна 11 или $n+1$. И всего таких пар чисел 5 или $\frac{n}{2}$. Получаем нашу формулу:

$$Число\ столбцов\cdotСумма\ чисел\ в\ стобцах=\frac{n}{2}\cdot(n+1)$$

Если нечетное число слагаемых?

Что, если сложить числа от 1 до 9? У нас не хватает одного числа для составления пяти пар, но мы можем взять ноль:

$$\left(\begin{array}{c}0&1&2&3&4\\ 9&8&7&6&5 \end{array}\right)$$

Сумма столбцов теперь равна 9 или ровно $n$. А количество столбцов? По-прежнему пять столбцов (спасибо нулю!), но теперь количество столбцов определяется как $\frac{n+1}{2}$ (y нас $n+1$ чиcел и вдвое меньше столбцов).

$$Число\ столбцов\cdotСумма\ чисел\ в\ стобцах=\frac{n+1}{2}\cdot n$$

Второй способ: увеличить вдвое и записать в две строки

Мы немного по-разному считаем сумму чисел в этих двух случаях.
Может быть, есть способ одинаково посчитать сумму для четного и нечетного количества слагаемых?

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

$$\left(\begin{array}{c}1&2&3&4&5&6&7&8&9&10\\10&9&8&7&6&5&4&3&2&1 \end{array}\right)$$

Для нечетного случая:

$$\left(\begin{array}{c}1&2&3&4&5&6&7&8&9\\9&8&7&6&5&4&3&2&1\end{array}\right)$$

Видно, что в обоих случаях сумма столбцов равна $n+1$, а количество столбцов $n$.

$$Число\ столбцов\cdotСумма\ чисел\ в\ стобцах=n\cdot(n+1)$$

Но нам нужна сумма только одной строки, поэтому:

$$\frac{n\cdot(n+1)}{2}$$

Третий способ: сделать прямоугольник

Есть еще одно объяснение, давайте попробуем сложить крестики, допутим у нас есть крестики:

Похоже просто на другое представление второго способа - каждая последующая строка пирамидки имеет больше крестиков и меньше ноликов. Количество всех крестиков и ноликов - площадь прямоугольника.

$$Площадь=Высота\cdotШирина=n\cdot(n+1)$$

Но нам нужна сумма крестиков, поэтому:

$$\frac{n\cdot(n+1)}{2}$$

Четветрый способ: среднее арифметическое

Известно: $Среднее\ арифметическое=\frac{Сумма}{Количество\ членов}$
Тогда: $Сумма = среднее\ арифметическое\cdotКоличество\ членов$

Количество членов нам известно - $n$. А как выразить Cреднее арифметическое?

Заметьте, числа распределены равномерно. На каждое большое число приходится маленькое, расположенное на другом конце.

1 2 3, среднее 2

1 2 3 4, среднее 2.5

В этом случае среднее арифметическое - это среднее арфиметическое чисел 1 и $n$, тоесть $Среднее\ арифметическое=\frac{n+1}{2}$

$$Сумма = \frac{n+1}{2}\cdot n$$

Пятый способ: интеграл

Все мы знаем, что определенный интеграл вычисляет сумму. Посчитаем сумму от 1 до 100 интегралом? Да, но для начала давайте хотя бы найдем сумму от 1 до 3. Пусть наши числа будут функцией y(x). Нарисуем картинку:

Высоты трех прямоугольников - как раз числа от 1 до 3. Проведем прямую через середины «шапок»:


Неплохо было бы найти уравнение этой прямой. Она проходит через точки (1.5;1) и (2.5;2). $y=k\cdot x+b$.

$$\begin{cases}2.5k + b = 2\\1.5k + b = 1\end{cases}\Rightarrow k=1; b=-0.5$$

Таким образом, уравнение прямой, которой мы можем аппроксимировать наши прямоугольники $y=x-0.5$


Она отсекает от прямоугольников желтые треугольники, но «добавляет» к ним сверху голубые. Желтые равны голубым. Сначала убедимся, что использование интеграла ведёт к формуле Гаусса:

$$\int_{1}^{n+1} (x-\frac{1}{2}) \, dx = (\frac{x^{2}}{2}-\frac{x}{2}){|}^{n+1}_{1}=\frac{(n+1)^{2}}{2}-\frac{n+1}{2}=\frac{n^{2}+2n+1-n-1}{2}=\frac{n^{2}+n}{2}$$

Теперь посчитаем сумму от 1 до 3, по иксу берем от 1 до 4, чтобы все наши три прямоугольника попали в интеграл:

$$\int_{1}^{4} (x-\frac{1}{2}) \, dx = (\frac{x^{2}}{2}-\frac{x}{2}){|}^{4}_{1}=\frac{4^{2}}{2}-2-(0.5-0.5)=6$$

$$\int_{1}^{101} (x-\frac{1}{2}) \, dx = (\frac{x^{2}}{2}-\frac{x}{2}){|}^{101}_{1}=\frac{101^{2}}{2}-50.5-(0.5-0.5)=5100.5-50.5=5050$$

И зачем все это нужно?

$$\frac{n(n+1)}{2}=\frac{n^{2}}{2}+\frac{n}{2}$$

В первый день на ваш сайт зашел один человек, на второй день двое… Каждый день количество посещений увеличивалось на 1. Сколько всего посещений наберет сайт к концу 1000-го дня?

$$\frac{n(n+1)}{2}=\frac{n^{2}}{2}+\frac{n}{2}=\frac{1000^{2}}{2}+\frac{1000}{2} = 500000+500=500500$$

Цикл «Занимательная математика» посвящен деткам увлекающимся математикой и родителям, которые уделяют время развитию своих детей, «подкидывая» им интересные и занимательные задачки, головоломки.

Первая статья из этого цикла посвящена правилу Гаусса.

Немного истории

Известный немецкий математик Карл Фридрих Гаусс (1777-1855) с раннего детства отличался от своих сверстников. Несмотря на то, что он был из небогатой семьи, он достаточно рано научился читать, писать, считать. В его биографии есть даже упоминание того, что в возрасте 4-5 лет он смог скорректировать ошибку в неверных подсчетах отца, просто наблюдая за ним.

Одно из первых его открытий было сделано в возрасте 6 лет на уроке математики. Учителю было необходимо увлечь детей на продолжительное время и он предложил следующую задачку:

Найти сумму всех натуральных чисел от 1 до 100.

Юный Гаусс справился с этим заданием достаточно быстро, найдя интересную закономерность, которая получила большое распространение и применяется по сей день при устном счете.

Давайте попробуем решить эту задачку устно. Но для начала возьмем числа от 1 до 10:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10

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

Гаусс сгруппировал числа следующим образом:

(1+10) + (2+9) + (3+8) + (4+7) + (5+6)

Таким образом маленький Карл получил 5 пар чисел, каждая из которых в отдельности в сумме дает 11. Тогда, чтобы вычислить сумму натуральных чисел от 1 до 10 необходимо

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

1 + 2 + 3 + 4 + 5 + … + 48 + 49 + 50 + 51 + 52 + 53 + … + 96 + 97 + 98 + 99 + 100

    Находим количество пар в ряде натуральных чисел. В данном случае их 50.

    Суммируем первое и последнее числа данного ряда. В нашем примере — это 1 и 100. Получаем 101.

    Умножаем полученную сумму первого и последнего члена ряда на количество пар этого ряда. Получаем 101 * 50 = 5050

Следовательно, сумма натуральных чисел от 1 до 100 равна 5050.

Задачи на использование правила Гаусса

А сейчас вашему вниманию предлагаются задачи, в которых в той или иной степени используется правило Гаусса. Эти задачки вполне способен понять и решить четвероклассник.

Можно дать возможность ребенку порассуждать самому, чтобы он сам «изобрел» это правило. А можно разобрать вместе и посмотреть как он сможет его применить. Среди ниже приведенных задач есть примеры, в которых нужно понять как модифицировать правило Гаусса, чтобы его применить к данной последовательности.

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

Важно! Если будет заучена формула без понимания, то это очень быстро будет забыто.

Задача 1

Найти сумму чисел:

  • 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
  • 1 + 2 + 3 + … + 14 + 15 + 16;
  • 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9;
  • 1 + 2 + 3 + 4 + 5 + … + 48 + 49 + 50 + 51 + 52 + 53 + … + 96 + 97 + 98 + 99 + 100.

Решение.

Вначале можно дать возможность ребенку самому решить первый пример и предложить найти способ, при котором это сделать легко в уме. Далее разобрать этот пример вместе с ребенком и показать как это сделал Гаусс. Лучше всего для наглядности записать ряд и соединить линиями пары чисел, дающие в сумме одинаковое число. Важно, чтобы ребенок понял как образуются пары — берем самое маленькое и самое большое из оставшихся чисел при условии, что количество чисел в ряду четно.

  • 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = (1 + 10) + (2 + 9) + (3 + 8) + (4 + 7) + (5 + 6) = (1 + 10) * 5;
  • 1 + 2 + 3 + … + 14 + 15 + 16 = (1 + 16) + (2 + 15) + (3 + 14) + (4 + 13) + (5 + 12) + (6 + 11) + (7 + 10) + (8 + 9) = (1 + 16) * 8 = 136;
  • 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = (1 + 8) + (2 + 7) + (3 + 6) + (4 + 5) + 9 = (1+ 8) * 4 + 9 = 45;
  • 1 + 2 + 3 + 4 + 5 + … + 48 + 49 + 50 + 51 + 52 + 53 + … + 96 + 97 + 98 + 99 + 100 = (1 + 100) * 50 = 5050

Задача 2

Имеется 9 гирь весом 1г, 2г, 3г, 4г, 5г, 6г, 7г, 8г, 9г. Можно ли разложить эти гири на три кучки с равным весом?

Решение.

С помощью правила Гаусса находим сумму всех весов:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 = (1 + 8) * 4 + 9 = 45 (г)

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

Один из вариантов:

  • 9г, 6г
  • 8г, 7г
  • 5г, 4г, 3г, 2г, 1г

Другие возможные варианты найдите сами с ребенком.

Обратите внимание ребенка на то, что когда решаются подобные задачи лучше всегда начинать группировать с большего веса (числа).

Задача 3

Можно ли разделить циферблат часов прямой линией на две части так, чтобы суммы чисел в каждой части были равны?

Решение.

Для начала к ряду чисел 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 применим правило Гаусса: найдем сумму и посмотрим, делится ли она на 2:

Значит разделить можно. Теперь посмотрим как.

Следовательно, надо провести линию на циферблате так, чтобы 3 пары попали в одну половину, а три в другую.

Ответ: линия пройдет между числами 3 и 4, а затем между числами 9 и 10.

Задача 4

Можно ли провести на циферблате часов две прямые линией так, чтобы в каждой части сумма чисел была одинаковой?

Решение.

Для начала к ряду чисел 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 применим правило Гаусса: найдем сумму и посмотрим делиться ли она на 3:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 = (1 + 12) * 6 = 78

78 делиться на 3 без остатка, значит разделить можно. Теперь посмотрим как.

По правилу Гаусса у нас получается 6 пар чисел, каждая из которых в сумме дает 13:

1 и 12, 2 и 11, 3 и 10, 4 и 9, 5 и 8, 6 и 7.

Следовательно, надо провести линии на циферблате так, чтобы в каждую часть попали по 2 пары.

Ответ: первая линия пройдет между числами 2 и 3, а затем между числами 10 и 11; вторая линия — между числами 4 и 5, а затем между 8 и 9.

Задача 5

Летит стая птиц. Впереди одна птица (вожак), за ней две, потом три, четыре и т. д. Сколько птиц в стае, если в последнем ряду их 20?

Решение.

Получаем, что нам необходимо сложить числа от 1 до 20. А к вычислению такой суммы можно применить правило Гаусса:

1 + 2 + 3 + 4 + 5 + … + 15 + 16 + 17 + 18 + 19 + 20 = (20 + 1) * 10 = 210.

Задача 6

Как рассадить 45 кроликов в 9 клеток так, чтобы во всех клетках было разное количество кроликов?

Решение.

Если ребенок решил и с пониманием разобрал примеры из задания 1, то тут же вспоминается, что 45 это сумма чисел от 1 до 9. Следовательно, сажаем кроликов так:

  • первая клетка — 1,
  • вторая — 2,
  • третья — 3,
  • восьмая — 8,
  • девятая — 9.

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

Задача 7

Вычислить сумму, используя прием Гаусса:

  • 31 + 32 + 33 + … + 40;
  • 5 + 10 + 15 + 20 + … + 100;
  • 91 + 81 + … + 21 + 11 + 1;
  • 1 + 2 + 3 + 4 + … + 18 + 19 + 20;
  • 1 + 2 + 3 + 4 + 5 + 6;
  • 4 + 6 + 8 + 10 + 12 + 14;
  • 4 + 6 + 8 + 10 + 12;
  • 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11.

Решение.

  • 31 + 32 + 33 + … + 40 = (31 + 40) * 5 = 355;
  • 5 + 10 + 15 + 20 + … + 100 = (5 + 100) * 10 = 1050;
  • 91 + 81 + … + 21 + 11 + 1 = (91 + 1) * 5 = 460;
  • 1 + 2 + 3 + 4 + … + 18 + 19 + 20 = (1 + 20) * 10 =210;
  • 1 + 2 + 3 + 4 + 5 + 6 = (1 + 6) * 3 = 21;
  • 4 + 6 + 8 + 10 + 12 + 14 = (4 + 14) * 3 = 54;
  • 4 + 6 + 8 + 10 + 12 = (4 + 10) * 2 + 12 = 40;
  • 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 = (1 + 10) * 5 + 11 = 66.

Задача 8

Имеется набор из 12 гирек массой 1г, 2г, 3г, 4г, 5г, 6г, 7г, 8г, 9г, 10г, 11г, 12г. Из набора убрали 4 гирьки, общая масса которых равна трети общей массы всего набора гирек. Можно ли оставшиеся гирьки расположить на двух чашках весов по 4 штуки на каждой чашке так, чтобы они оказались в равновесии?

Решение.

Применяем правило Гаусса, чтобы найти общую массу гирек:

1 + 2 + 3 + … + 10 + 11 + 12 = (1 + 12) * 6 = 78 (г)

Вычисляем массу гирек, которые убрали:

Следовательно, оставшиеся гирьки (общей массой 78-26 = 52г) надо расположить по 26 г на каждую чашу весов, чтобы они оказались в равновесии.

Нам не известно какие гирьки были убраны, значит мы должны рассмотреть все возможные варианты.

Применяя правило Гаусса можно разбить гирьки на 6 пар с равным весом (по 13г):

1г и 12г, 2г и 11г, 3г и 10, 4г и 9г, 5г и 8г, 6г и 7г.

Тогда лучший вариант, когда при убирании 4 гирек уберутся две пары из приведенных выше. В этом случае у нас останутся 4 пары: 2 пары на одну чашу весов и 2 пары на другую.

Худший вариант — это когда 4 убранные гирьки разобьют 4 пары. У нас останутся 2 неразбитые пары общим весом 26г, значит их помещаем на одну чашу весов, а оставшиеся гирьки можно поместить на другую чашу весов и они тоже будут 26г.

Удачи в развитии Ваших детей.