a₁.;A×?≜ẹ+
Спробуйте в Інтернеті!
Це подання функції, яке приймає вхід через .
і виробляє вихід через ?
(протилежне звичайній умові; всі функції Brachylog мають рівно два аргументи, які можуть бути вхідними або вихідними аргументами, але мова не примушує конкретного використання аргументу). Ми , як правило, не вважаємо умовами використання аргументів релевантними в PPCG .
Пояснення
Попередня версія цього рішення мала особливий випадок ( Ḋ|
тобто "повернути цифри буквально") для однозначних цифр, але в питанні, мабуть, зазначено, що вам не потрібно перевіряти це (дякую @DLosc, що це зробив), тому я видалив це. (Написане рішення не буде працювати з однозначними цифрами, оскільки Брахілог не розглядає 1 як можливість для невідомого у множенні, щоб запобігти нескінченним циклам; його множення є довільною цілістю.)
Тож ця відповідь зараз стосується майже прямого перекладу специфікації. Починаючи з ?
(вихід / число, яке ми намагаємося знайти; предикат Brachylog завжди неявно починається з ?
), ми використовуємо, a₁.
щоб стверджувати, що він .
(вхід) є суфіксом. Тоді ;A×?
означає, що ми можемо помножити ( ×
) результат на щось ( ;A
), щоб отримати ?
(вихід). Нарешті, ẹ+
підсумовує ( +
) цифри ( ẹ
) ?
та, за замовчуванням, неявне твердження в кінці кожної програми Brachylog, що дає кінцевий результат .
. Іншими словами, ця програма " .
є суфіксом ?
, .
помноженим на щось є ?
, .
це цифра суми?
", що дуже близьке до буквального перекладу оригінальної програми.
≜
Необхідно вимога цифри суми повинні бути виконано. Я припускаю, що щось ẹ
не подобається невідомим, тому ≜
підказує Брахілогу використовувати грубу силу підходу для цієї частини програми, а не алгебри.