Как найти сумму натуральных чисел
Перейти к содержимому

Как найти сумму натуральных чисел

  • автор:

Как найти сумму натуральных чисел

Одно важное ЗАМЕЧАНИЕ. Гарантируется, что ОТВЕТ помещается в тип int64 (long long в Си), но никто не гарантировал, что промежуточные вычисления также туда помещаются. Если считать ответ просто по формуле вида N*(N+1)/2, то может произойти переполнение типа при умножении. Чтобы этого избежать нужно делить ДО умножения, т.е. считать нужно по формуле (N/2)*(N+1) или N*((N+1)/2) в зависимости от чётности числа N.

Сумму всех целых чисел от 1 до 100 можно посчитать при помощи хитрого приема. Разобьем все числа по парам 1 и 100, 2 и 99, 3 и 98 и т.д. Сумма каждой пары 101. Пар всего 100 пополам (50). Поэтому сумма равна \(\frac\) .

Для нечетного количества слагаемых работает та же формула: например, \(1 + 2 + 3 = \frac = 6\) .

Входные данные

Одно целое число N. Гарантируется, что ответ «помещается» в тип int64 (Паскаль) / long long (в Си) / long (в Java).

N может быть отрицательным. Например, при N = -2, сумма будет 1 + 0 + -1 + -2 = -2.

Выходные данные

Одно число – сумма всех целых чисел от 1 до N.

Сумма всех натуральных чисел: 1 + 2 + 3 + 4 +…

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

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

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

Например, частичная сумма первых k членов числового ряда 1 + 2 + 3 + 4 +… записывается следующим образом

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

Ряд 1+2+3+4+… далеко не единственный из расходящихся рядов. Возьмём, например, ряд Гранди

который тоже расходится, но известно, что метод суммирования Чезаро позволяет присвоить этому ряду конечное значение 1/2. Суммирование по Чезаро заключается в оперировании не частичными суммами ряда, а их арифметическими средними. Позволив себе порассуждать в вольном стиле, можно сказать, что то частичные суммы ряда Гранди осцилируют между 0 и 1, в зависимости от того какой член ряда является последним в сумме (+1 или -1), отсюда и значение 1/2, как арифметическое среднее двух возможных значений частичных сумм.

Другим интересным примером расходящегося ряда является знакопеременный ряд 1 — 2 + 3 — 4 +. , частичные суммы которого также осцилируют. Суммирование методом Абеля позволяет присвоить данному ряду конечное значение 1/4. Отметим, что метод Абеля является, своего рода, развитием метода суммирования по Чезаро, поэтому результат 1/4 несложно осмыслить с точки зрения интуиции.

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

Ни суммирование по Чезаро, ни метод Абеля, однако, не позволяют работать с рядом 1 + 2 + 3 + 4 +. т. к. средние арифметические частичных сумм, равно как и средние арифметические средних арифметических, расходятся. Кроме того, если значения 1/2 или 1/4 ещё как-то можно принять и соотнести с соответствующими рядами, то -1/12 сложно связать с рядом 1 + 2 + 3 + 4 +. представляющим собой бесконечную последовательность положительных целых чисел.

Существует несколько способов прийти к результату -1/12. В этой заметке я лишь кратко остановлюсь на одном из них, а именно регуляризации дзета-функцией. Введём дзета-функцию

Подставляя s = -1, получим исходный числовой ряд 1+2+3+4+…. Проделаем над этой функцией ряд несложных математических действий

image

image

При значении s = -1 эта-функция становится уже знакомым нам рядом 1 — 2 + 3 — 4 + 5 -… «сумма» которого равна 1/4. Теперь мы можем легко решить уравнение

Интересно, что этот результат находит своё применение в физике. Например, в теории струн. Обратимся к стр. 22 книги Joseph Polchinski «String Theory»:

image

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

Чтобы два раза не ходить, ещё пара интересных примеров с дзета-функцией

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

Сумма чисел от 1 до N

Онлайн калькулятор поможет найти сумму чисел от одного до N, вычислит сумму натуральных чисел от единицы до указанного числа включительно.

Для сложения определенного количества целых чисел в диапазоне от 1 до заданного значения N используется формула: (N×(N+1))/2
Где N — наибольшее число ряда.

Например сумма чисел от 1 до 100:
(100×(100+1))/2 = 100×(101)/2 = (10100)/2 = 5050
Сумма всех целых чисел от 1 до 100 равна 5050.

Сумма чисел от 1 до 10 = 55
Сумма чисел от 1 до 15 = 120

Пожалуйста напишите с чем связна такая низкая оценка:

сумма всех натуральных чисел от 1го до n

объясните пожалуйста почему ? сумму всех натуральльных чисел от 1го до n можно вычислить как n * (n +1) / 2 . Например 5 1 + 2 + 3 + 4 + 5 = 15 или 5*6 /2 = 15 так вот почему это работает ? 5*6 /2 = 15 ?

Отслеживать
13.8k 12 12 золотых знаков 44 44 серебряных знака 77 77 бронзовых знаков
задан 9 мар 2023 в 13:57
Alex March Alex March
78 6 6 бронзовых знаков

А вы попробуйте брать одно число с конца, одно с начала, и посмотрите, чему равна сумма пары, и задумайтесь, сколько таких пар. Например, 1 2 3 4 5 6: 1+6 = 2+5 = 3+4 = 7. А пар 6/2 = 3.

9 мар 2023 в 13:59
9 мар 2023 в 13:59
Я голосую за закрытие этого вопроса, потому что не по теме StackOverflow
9 мар 2023 в 14:34

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

9 мар 2023 в 14:53

@Danis эта задача решается средствами программирования. Я решал эту задачу циклом, рекурсией и выше изложенным способом. Так вот, я понимал как работает цикл и рекурсия, но не понимал почему работает n * (n +1) / 2 . А теперь добрые люди люди мне все разложили по полочкам и я обрел новые полезные знания. А это значит что система выполнила свое главное предназначение. Разве это плохо ?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *