Ваш браузер устарел. Рекомендуем обновить его до последней версии.




 



 


Delphi

 

 


     17     Магические числа. Вложенные циклы

Магическое число, это такое трехзначное число, для которого сумма кубов цифр его составляющих равна самому этому числу. Одно из магических чисел — это число 153. Действительно:

13 + 53 + 33 = 1 + 125 + 27 = 153

Можно конечно отыскать все магические числа вручную, но для этого потребуется много времени. Вам придется перебрать все трехзначные числа и каждое из них проверить на магичность. А таких чисел всего 900, так что нужно будет потрудиться как следует. Составим программу, отыскивающую все магические числа, причем практически мгновенно! В этой маленькой, но красивой программе будем последовательно использовать вложенные циклы на основе конструкции повторения repeat.

Переменные s, d, и e используются для смены числа сотен, десятков и единиц соответственно. Как видите число сотен s колеблется от 1 до 9 и не может быть равным нулю, потому как число перестанет быть трехзначным. Число же десятков d, как впрочем и число единиц e могут находиться в диапазоне от 0 до 9. Вначале внешний цикл берет число сотен равным единице, вложенный цикл десятков начинает свою работу с нуля, а вот более глубокий по своему вложению цикл единиц прокручивается полностью — от 0 до 9, при этом меняется десять раз только последняя цифра трехзначного числа. Затем цикл десятков берет число десятков равным единице и вновь прокручивает число единиц десять раз. После того как цикл десятков выполнится десять раз происходит возврат к циклу сотен, который число сотен берет теперь за два и так далее. В результате такого последовательного перебора в работе трех циклов просматриваются все трехзначные числа от 100 до 999 включительно.

В самом глубоком цикле repeat три строки. Воспользуемся двумя промежуточными переменными. Это переменная a — где формируется каждое трехзначное из суммы числа сотен, числа десятков и числа единиц. Переменная b — в которую последовательно помещается сумма кубов цифр из которых состоит проверяемое трехзначное число. Третья строка в цикле проверяет равенство этих переменных, тем самым проверяет числа на магичность с использованием конструкции условия if - thenЕсли это так, то число выводится на экран вашего дисплея в textview1.

Flag Counter
Яндекс.Метрика
200stran.ru: показано число посетителей за сегодня, онлайн, из каждой страны и за всё время
Besucherzahler russain brides
счетчик посещений

Выбери лучшее!

allbest