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. |
Выбери лучшее! allbest |