July 22

Проверка числа на число Армстронга на Leo

Всем привет! В данной статье мы решим задачу, которую нам предложил ChatGPT. Она выглядит следующим образом:

Как нам пишет ChatGPT, число Армстронга - это такое число, которое равно сумме своих собственных цифр, возведенных в степень, равную количеству его цифр. Поскольку это определение можно понять по разному, давайте посмотрим на примере:

То есть мы должны провести данный расчёт. Находим все цифры числа и возводим их в степень, равную количеству цифр. Для начала открываем Aleo Studio и создаём новый проект.

У нас создалась базовая функция main, давайте её менять:

У нас в функцию поступает одна переменная, которую мы будем проверять, является ли её значение числом Армстронга. Она будет иметь тип u32. На выходе функции переменная boolean, если значение переменной является числом Армстронга, то мы возвращаем true, иначе, false

Теперь давайте для дальнейшей работы продублируем значение переменной a в еще одну переменную. Пусть это будет переменная b.

Сохраним каждую цифру нашего трехзначного числа в отдельную переменную. Для этого с помощью оператора rem находим остаток от деления нашего числа на 10 и делим наше число нп 10 чтобы перейти на другой разряд.

Давайте для проверки выведем цифры нашего числа (они должны быть задом наперед)

С этими входными данными:

Если всё работает верно, мы должны получить 321

Да, всё работает! Создадим переменную result, она будет иметь тип boolean.

Переходим к последнему этапу. Если переменная a равняется необходимым вычислениям, тогда result будет иметь значение true.

Нам остается вернуть переменную result.

Запускаем нашу программу с предыдущими входными данными. В них число 123, которое не является числом Армстронга, так что мы должны получить false.

Если же мы отправим число 153

Мы получаем true

Всё верно! Наша программа работает корректно. До встречи в следующих статьях по проекту Aleo и языку программирования Leo.