Задача от ChatGPT для начинающих. Решаем на Leo #4
Привет! Рад видеть вас в 4ой части нашего обучение Leo с помощью ChatGPT. Сегодня мы также решаем задачу, которую нам задаст ChatGPT, используя язык программирования Leo. Напомню, что Leo создан компанией Aleo для создания приватных приложений на их блокчейне.
Я ввёл привычный для нас запрос:
И сегодня мы получили такой ответ:
Простая задача, которую мы сейчас с вами решим. Переходим в Aleo Studio:
И создаем проект под названием gpt4.
У нас создалась базовая программа, которую мы будем изменять, чтобы не писать код с нуля.
Для начала нам нужно определить, что поступает на вход функции и что мы получаем на выходе.
На вход у нас одна переменная типа u32, которая будет называться a и количество цифр в которой мы будем искать. На выходе же функции переменная типа u32, которая будет хранить в себе количество цифр числа. В коде это выглядит следующим образом:
Теперь создадим переменную, которую и будем выводить по результатам работы программы. Назовем её result и напомню, что она имеет тип u32. Зададим ей по умолчанию значение равное нулю.
Пропишем основной цикл программы. Он будет работать следующим образом. Начнём с условного выражения if. Если наше число больше 10, то мы делим его на 10 и прибавляем 1 к переменной result.
Теперь нам нужно зациклить это действие, пока а больше 10. Для этого используем цикл for.
Я сделал перебор до 20, так как число у нас будет меньше 20 знаков. Если мы сейчас запустим нашу программу, то получим результат на один меньше, чем цифр в числе, так как мы не учитываем последний разряд, который остаётся, когда а меньше 10. Давайте прибавим к переменной result 1 и данная проблема будет решена.
Так выглядит финальный код нашей программы. Давайте её запустим с этими входными данными: