Найти сумму всех трехзначных чисел. Задание необходимо выполнить в одной из доступных версий программы Pascal (PASCAL ABC.NET, PASCAL ABC, Turbo Pascal; допускается использование онлайн-компилятора).
Лично я подобные задачки решаю на компьютере. Тут требуется элементарная по простоте программка.
Например на бейсике она может выглядеть так:
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.
Не знаю, насколько годится данная формула для решения других задачек (особенно для нечётного диапазона чисел), это ещё надо проверять, но результат получился интересный.
Лично я подобные задачки решаю на компьютере. Тут требуется элементарная по простоте программка.
Например на бейсике она может выглядеть так:
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.
Не знаю, насколько годится данная формула для решения других задачек (особенно для нечётного диапазона чисел), это ещё надо проверять, но результат получился интересный.