Как найти сумму целых чисел от 1 до 500? Есть ли быстрый способ?
Задали сыну в 6м классе по математике. Он ответил правильно- списал ответ в конце учебника. А я даже не знаю, как быстро и рационально можно это сделать. Что, сидеть с кладывать 1+2+3+4.
Лучший ответ
Это сумма арифметичесой прогрессии:
1, 2, 3, ..500
То есть:
a_1 = 1
a_500 = 500
d = 1 (d — разность арифмеичской прогрессии)
S_n = (a_1 + a_n)*n/2
S_500 = (1 + 500)*500/2 = 501*250 = 125250
Ответ: S_500 = 125250
Источник: арифметика
Остальные ответы
По-моему, это называется факториал
Коротеев АлександрВысший разум (112962) 15 лет назад
Не, факториал это произведение:
n! = 1*2*3*. *n
Бяка-Бука Гуру (3508) Спасибо,забыла
Ещё Гаусс в школе такой метод нашёл.
1+500 = 501
2+499 = 501
.
250+251 = 501
Осталось 501 умножить на количество таких строчек.
эта формула суммы арифметической прогрессии нужно (1+500) *250
да, есть, там короче надо складывать:
1+500=501
2+499=501
3+498=501
.
короче если интересно, напиши на мыло. объясню
Есть один фильм, называется он «Дети Ванюхина», там по сюжету, ребёнок сумел сложить сумму целых чисел, по — моему от 1 до 250, буквально за секунды. А как уже подзабыл. По — моему, Гаусс придумал этот способ, а может и не он. Надо как — то разложить эти цифры, на самом деле просто, нужно подумать и всё.
Я ещё такого не изучала, единственное, что я знаю, что если складывать числа от 1 до ста, то это надо 101 умножить на 50.
Но как это выщитывать?
Такое написано на моей алгебре. Раз написано, значит должна быть тема.. . Открыла. ничего не поняла (((
Как найти сумму целых чисел
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Найти сумму целых чисел введёных с клавиатуры
если нельзя даже данные получать с этими командами, тогда так:
def add(arr): return int(arr[0]) if len(arr) == 1 else (int(arr[0]) + add(arr[1:])) print(add(input().split()))
вариант 4 (как и вариант 3, но покороче):
def add(arr): return (int(arr[0]) + add(arr[1:])) if arr else 0 print(add(input().split()))
вариант 5 (как и вариант 4, но короче на 1 (. ) букву)
def add(arr): return (int(arr.pop()) + add(arr)) if arr else 0 print(add(input().split()))
Как найти сумму целых чисел
элементарная задача – формула
По формуле суммы членов арифметической прогрессии искомая сумма равна
Непосредственное суммирование в цикле даст Time Limit.
Определим функцию вычисления модуля числа.
long long abs( long long x)
Читаем входное значение n . Вычисления будем производить в 64-битовом знаковом целочисленном типе. Формула суммы включает в себя два множителя и один делитель. Чтобы избежать переполнения, будем сначала выполнять деление, а затем умножение.
if (n % 2) res = (1 + n) / 2 * n;
else res = n / 2 * (1 + n);
if (n % 2) res = (1 + n) / 2 * (abs(n) + 2);
else res = (abs(n) + 2) / 2 * (1 + n);
printf( «%lld\n» ,res);