Я не занимаюсь составлением программ и помнить формулы прогрессий тоже не в состоянии. Однако найти сумму всех трехзначных чисел не сложно. надо просто скомбинировать их правильным образом. Для начала отбросим число 100 и 550, которые пригодятся на последнем этапе подсчета. Потом обратим внимание, что 101+999 = 1100. Такая же сумма будет у всех остальных пар чисел до 549+551. Остается определить, сколько же пар чисел мы имеем 549-100 = 449. Теперь просто умножаем 449 на 1100, и добавляем к этому произведению отброшенные ранее числа 100 и 550. Получается 494550.
Только не надо путаться и добавлять 1000 - это уже четырехзначное число.
Лично я подобные задачки решаю на компьютере. Тут требуется элементарная по простоте программка.
Например на бейсике она может выглядеть так:
s = 0
For x = 100 To 999
s = s + x
Next x
Print s
Если её запустить, получается результат: 494550.
Стал я смотреть дальше на закономерности, учитывая ручной способ сложения по два.
И пришёл к интересным выводам.
Если наш диапазон чисел 900. Это числа: 100,101,...,999. Всего их 900. (999-100+1=900 )
Это 899 чисел (от 101 до 999) и 900 - е число - это число 100.
То если решать методом сумм по 2, то нужно 450 сложений.
Число 450 получается из числа 900: 900/2=450.
Теперь получается интересный эффект.
Если попробовать поделить полученный результат 494550 на наше число 450, то получается число 1099.
А что такое число 1099?
Это сумма чисел из нашего условия: 100+999=1099.
Получается, зная это с самого начала, не нужно было бы делать 450 сложений.
Нужно просто перемножить 450 на 1099 и получишь 494550.
Получается вот такая формула для решения данной задачки:
Summa =(100+999)*(999-100+1)/2=1099*450=494550.
Не знаю, насколько годится данная формула для решения других задачек (особенно для нечётного диапазона чисел), это ещё надо проверять, но результат получился интересный.
Последовательность трёхзначных чисел можно представить как конечную арифметическую прогрессию, в которой первый член равен 100, последний член равен 999, а разность равна 1.
Соответственно нам нужно найти сумму этой прогрессии.
Формула суммы арифметической прогрессии давно известна:
S = (a1 + an)* n/2
a1 — первый член; an — последний член; n — количество членов.
a1 и an нам известны, они равны соответственно 100 и 999.
Остаётся найти n. Оно равно 999 – 100 + 1 = 900.
Подставляем всё в формулу:
S = (a1 + an)* n/2 = (100 + 999) * 900/2 = 1099 * 900/2 = 989100/2 = 494550.
Ответ: 494550.
А ещё можно написать программу на на каком-нибудь языке программирования с помощью цикла. Например, если писать на Паскале, то программа будет иметь вид:
Program abc;
var
i,sum:integer; {i - это переменная для трехзначного числа, sum - сумма трехзначных чисел}
begin
sum:=0;
for i:=100 to 999 do
sum:=sum+i;
writeln(sum); {выводит сумму трехзначных чисел на экран}
end.
Программа выведет число 494450. Можете сами проверить результат программы.
всё просто сумма чисел от 100 до 999 расчитывается так 1000+101, потом 999+102 итд до 550+551 всего таких пар 450 поэтому расчет идет так 1101*450+100-1000=494550
Задача в школе, которую продвинутые в математике родители предлагают решить по методу Гаусса.
Составляем в ряд комбинации (100 + 999) + (101 + 998) + (102 + 997) и так далее. И далее считаем
1099 умножить 900 деленное на 2 будет равно 494 550. Это и есть сумма всех трехзначных чисел.
Добавить комментарий