- 22, Oct 2024
- #1
Эта задача вдохновлена моей предыдущей задачей «Создать программу, которая печатает прописью то количество символов, которое у нее есть».
Правила этой задачи просты: создайте программу, которая печатает количество символов в словах и работает на максимально возможном количестве языков.
Каждый язык программирования, на котором работает программа, должен заставлять программу печатать количество символов на другом естественном языке.
Например. вы можете создать полиглота, который печатает «пятьдесят» (предположим, это количество символов) на одном языке и «педесет» (сербохорватский для 50) на другом, но не полиглота, печатающего «пятьдесят» на обоих языках.
Здесь также применимо расширение правила «не изобретайте языки для решения задачи»: не создавайте искусственный язык только для того, чтобы проверить свой бессмысленный вывод на каком-либо языке.
Если полиглот, напечатавший «пятьдесят» на одном языке, был протестирован на другом и напечатан (шутка?) «Aijsisdjdsl», то незаконно создавать конланг, используя «Aijsisdjdsl» в качестве слова «пятьдесят».
Заглавные буквы игнорируются: если вы печатаете «one» (каким-то образом), вы можете напечатать «one», «oNe», «ONE» или что-нибудь еще.
Требуется десятичная база.
Также необходимо правильное расстояние.
В (маловероятном, но просто для уточнения) случае, когда ваша программа достигает одного миллиарда символов или более, используйте американскую шкалу чисел. Миллиард здесь равен 10^9, а миллион — 10^6.
Не используйте «сто один»: используйте «сто один».
Не используйте дефис. Выведите сорок четыре, а не сорок четыре.
Если в используемом вами языке есть другой алфавит, используйте его вместо латинизации. Если ваша программа печатает на арабском языке на каком-либо языке, она должна печатать (опять же, пример с 50) «خمسون», а не «хамсун».
Используйте грамматически правильный перевод.
Для наших целей мы используем Ethnologue, чтобы определить, что является языком, а что нет в этом задании. Он наиболее широко используется, поэтому мы остановимся на нем.
Для простоты в этом задании все языки с одинаковыми цифрами будут считаться одинаковыми. Использование любых японских/китайских цифр дает вам 1 балл.
Если слово пишется одинаково на нескольких языках, например «Шесть» в английском и французском языках засчитывается как один балл к вашему счету.
Диалекты, которые различает Ethnologue, будут считаться разными языками, если они не подпадают под два вышеприведенных правила.
Здесь не различаются разные компиляторы одних и тех же языков программирования.
Ваш балл — это количество языков, на которых работает ваша программа, согласно стандартным правилам Розеттского камня.
Если два (или более) лучших ответа совпадают, побеждает тот, у кого наименьшее количество байтов.
Кодировка, используемая для определения количества байтов для разрешения конфликтов, — UTF-8.
Побеждает тот, кто наберет наибольшее количество очков (в случае ничьей см. выше). Веселиться.
#естественный язык #полиглот #розеттский камень