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




 



 


Delphi

 

 


 

Урок одиннадцатый

Магические числа

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

     1³ + 5³ + 3³ = 1 + 125 + 27 = 153

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

 

 

     For s = 1 To 9     ‘ перебор в разряде сотен

          For d = 0 To 9     ‘ перебор в разряде десятков

               For e = 0 To 9     ‘ перебор в разряде единиц

                    a = s ^ 3 + d ^ 3 + e ^ 3     ‘ сумма кубов цифр числа

                    b = s * 100 + d * 10 + e     ‘ формирование числа

                    If a = b Then Print a;     ‘ проверка числа на магичность

               Next e     ‘ завершение цикла для единиц

          Next d     ‘ завершение цикла для десятков

     Next s     ‘ завершение цикла для сотен

 

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

Итак, мы подробно рассмотрели работу программы. Будет лучше, если вы попробуете набрать текст программы без подглядывания. Эта программа работает также как автомобильный счетчик пройденного пути.

 

Домашнее задание

1. Сколько строк содержала бы программа без использования конструкции цикла?

2. Выясните, существуют ли магические числа среди четырехзначных чисел.

3. Проверьте, может ли в трехзначном числе сумма квадратов цифр составляющих это число равняться самому числу.

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

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

allbest