Найти сумму всех трехзначных чисел. Задание необходимо выполнить в одной из доступных версий программы Pascal (PASCAL ABC.NET, PASCAL ABC, Turbo Pascal; допускается использование онлайн-компилятора).

svetbuxzp51 svetbuxzp51    2   17.03.2021 17:54    0

Ответы
ЮлияТимофеева ЮлияТимофеева  17.03.2021 18:00

Лично я подобные задачки решаю на компьютере. Тут требуется элементарная по простоте программка.

Например на бейсике она может выглядеть так:

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.

Не знаю, насколько годится данная формула для решения других задачек (особенно для нечётного диапазона чисел), это ещё надо проверять, но результат получился интересный.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика