Вы должны использовать один язык для написания программ, которые выполняют следующие девять задач в любом порядке .
- Преобразовать введенное число из базы 10 в базу 36.
- Пример ввода:
1000
- Пример вывода:
RS
(вывод должен быть в верхнем регистре)
- Пример ввода:
- Преобразуйте каждый символ в строке в его десятичные десятичные коды ASCII и напечатайте соединенные вместе коды.
- Пример ввода:
Scrambled 3GG5
- Образец вывода:
839911497109981081011002051717153
- Пример ввода:
- Определите, делится ли введенное число на 1738.
- Верните истинное значение, если оно есть, и ложное значение, если это не так.
- Определите, есть ли в строке буква
q
.- Верните истинное значение, если оно есть, и ложное значение, если нет.
- Закодируйте введенную строку букв с помощью шифра Цезаря +1.
- Дело должно быть сохранено. Небуквенные символы будут напечатаны без изменений.
- Пример ввода:
Good morning, World!
- Образец вывода:
Hppe npsojoh, Xpsme!
- Найдите и выведите сумму простых множителей числа.
- Пример ввода:
1320
- Образец вывода:
21
- Пример ввода:
- Версия для печати
PPCG
. - Выведите первые
n
натуральные числа, которые делятся наfloor(sqrt(n))
.n
введенное целое число
- Замените каждый
o
иO
во введенной строке наಠ
.- Пример ввода:
Onomatopoeia
- Образец вывода:
ಠnಠmatಠpಠeia
- Пример ввода:
Вы заметите, что это Code Billiards
не так Code Golf
. Цель этой задачи, как и в бильярде, состоит в том, чтобы настроить свой код так, чтобы он мог быть слегка изменен для следующей задачи. Вот почему ваши программы не должны решать вышеуказанные задачи по порядку.
Ваша оценка определяется следующим образом
- Ваша оценка увеличивается на
1
каждый байт в ваших программах. - Ваша оценка увеличивается,
floor(n^(1.5))
если две последовательные программы имеют расстояние Левенштейнаn
. Например, если ваша первая программаpotato
и вторая программаtaters
, ваш счет увеличивается на 12 на 12 байт и на11
=floor(5^(1.5))
для расстояния Левенштейна, равного 5.
Цель этой задачи - получить как можно более низкий балл после написания всех девяти программ. Применяются стандартные правила компьютерной графики.
Чтобы увидеть таблицу лидеров, нажмите «Показать фрагмент кода», прокрутите вниз и нажмите «► Выполнить фрагмент кода». Отрывок сделан Оптимизатором.
code-golf
math
number
multiple-holes
Арктур
источник
источник
ಠ
иa
? Это 1 ( считаетсяಠ
как 1 символ) или 2 (потому чтоಠ
на самом деле это 2 байта)?Ответы:
Japt ,
886866766725688669Задачи 5 и 6 являются убийцами. Возможно, есть более короткие способы сделать их. Я думаю, что расстояния Левенштейна также могут быть сокращены.
!(U%#ۊ
7 байтов (арабский символ портит выравнивание)
U!=Uk'q
7 байтов, dist 11Us36 u
6 байтов, dist 14UmX=>Xc
7 байтов, дистрибутив 14"PPCG"
6 байт, дист. 18Ur"[Oo]",'ಠ
13 байт, дист. 27X=Uq f;XoU*X+1,X
16 байт, расст. 522oU fX=>2oX eY=>X%Y &&!(U%X)r(X,Y =>X+Y
39 байтов, 172UmX=>128o mY=>Yd)a k'A i#Z,'A k'a i#z,'a gXc
44 байта, расст. 216Вот фрагмент, который расскажет вам (один из) наиболее эффективных способов организации ваших программ:
Показать фрагмент кода
С последней версией Japt (не участвующей в этом соревновании) большинство задач становятся короче:
s36 u
5 байтmc
2 байтаv#ۊ
4 байта
oq
2 байта;B±B+C²UrF,@Bg1+BbX
19 байтk â x
5 байт"PPCG
5 байтB=U¬f)oU*B+1B
13 байтro'ಠ'i
6 байтОптимальный заказ теперь 2,4,3,1,6,7,9,8,5, с колоссальным счетом 217 , что составляет менее трети от первоначального!
Предложения приветствуются!
источник
Пиф, оценка 489
Базовая конверсия: 15
Цезарь Шифр: 13 + 11 ^ 1,5
Делится на 1738: 7 + 11 ^ 1,5
Первые N натуральных чисел: 8 + 8 ^ 1,5
Сумма простых факторов: 4 + 6 ^ 1,5
Появление q в строке: 4 + 4 ^ 1,5
Присоедините все коды ASCII: 5 + 4 ^ 1.5
Печать "PPCG": 5 + 5 ^ 1,5
Заменить на
ಠ
: 9 + 7 ^ 1,5источник
Руби, 1488
Вероятно, здесь есть много возможностей для улучшения. Большую часть времени потратил на подсчет очков ...
Сумма простых факторов : 64 База 36 : 30 + 47 1,5 = 352 Делится на 1738 : 22 + 15 1,5 = 80 Печать PPCG : 9 + 18 1,5 = 85 Содержит ли строкаq
? : 10 + 8 1,5 = 32 Заменитьo
: 23 + 16 1,5 = 87 Ceasar шифр : 32 + 21 1,5 = 128 Коды ASCII : 37 + 26 1,5 = 169 Целые числа, делимые на квадратный корень : 72 + 56 1,5 = 491источник
Ява, оценка 8331
Эти левенштейновские расстояния убивают мой счет здесь.
(Эти программы принимают ввод в качестве аргументов командной строки)
Программа 1 (119):
Программа 2 (120 + 56 1,5 = 539):
Программа 3 (101 + 49 1,5 = 444):
Программа 4 (108 + 20 1,5 = 197):
Программа 5 (186 + 107 1,5 = 1293):
Программа 6 (327 + 228 1,5 = 3747):
Программа 7 (336 + 10 1,5 = 368)
Программа 8 (351 + 34 1,5 = 549):
Программа 9 (305 + 84 1,5 = 1075):
источник
Pyth, оценка 817
номер 1: 24
номер 2: (9 + 16 1,5 = 73)
номер 3: (5 + 8 1,5 = 27)
номер 4: (5 + 14 1,5 = 57)
номер 5: (39 + 37 1,5 = 264)
номер 6: (4 + 39 1,5 = 247)
номер 7: (5 + 4 1,5 = 13)
номер 8: (12 + 12 1,5 = 53)
номер 9 (13 + 13 1,5 = 59)
Не самое лучшее, я только начал изучать pyth сегодня и думал, что попробую, номер 5 действительно убил мой счет, я думаю, что я могу сократить некоторые из них, но это только повредит мне больше на дистанциях. Любые советы от более опытных пользователей Pyth приветствуются.
источник
You must use one language to write programs that perform the following nine tasks, in any order.
Удачи!5 + 14^1.5
не 19Python 3 (в настоящее время недействителен), 621 байт
Не очень хороший код, но в некоторой степени работает: D. Сумма простых факторов не работает. Я всегда получаю другой результат из вашего примера, поэтому я удалил его. Также Python не поддерживает символ,
ಠ
поэтому он заменяетo
s на0
sIO INFO:
1-й вход: int в базе 10 | Вывод: это число в базе 36
2-й вход: строка | Вывод: Ascii номера строки
3-й вход: целое число | Вывод: True или False в зависимости от того, можно ли делить число на 1738
4-й вход: строка | Вывод: T или F в зависимости от того, есть ли в строке «q»
5-й вход: строка | Вывод: Caser Cipher +1 из строки
6-е: буквально печатает «PPCG» буквально
7-й вход: int n | Вывод: первые n целых, кратные полу (sqrt (n))
8-й вход: строка | Вывод: все
o
s заменены на 0 (не на ಠ, потому что python не поддерживает этот символ, не сердитесь :))источник