Это испанское время!

24

У меня есть простая задача, которую относительно легко реализовать с помощью кода. Ваша цель - написать программу, которая будет выводить время, написанное на испанском языке, с учетом времени в формате ЧЧ: ММ. Многие люди, вероятно, не знают, как это сделать, поэтому я уточню.

Время на испанском довольно логично. Обычно это соответствует схеме «Es la / Son las (час) y (минуты)». Часы представлены в 12-часовом формате, и «Es la» используется только в том случае, если час равен 1 (т. Е. Один час). Минуты это другая история. Если минута меньше 30, то она представлена, как показано выше. Однако, если минута больше 30, то час округляется, а минута вычитается. Например, 7:35 переводится как «8 часов минус 25 минут». Еще несколько примеров будут приведены ниже. Список необходимых испанских номеров можно найти здесь . На некоторых номерах есть акценты, но они не обязательны.

Примечание: источник говорит «uno», но чтобы быть грамматически правильным, он должен быть «una». Это не должно повлиять на какие-либо ответы до сих пор.

Примечание 2: Кроме того, «Cero» не является необходимым. Если ваша программа выдает «Es la una» или «Son las tres», это нормально для меня. Извините за эти изменения правил.

правила

  • Ввод будет предоставлен через STDIN или эквивалент на вашем языке.
  • Нет чтения из внешних библиотек.
  • Ваш код может делать что угодно с неверным вводом.

Бонусы

  • -10, если ваш код добавляет эти дополнительные фразы - «y cuarto» для: 15, «y media» для: 30 и «menos cuarto» для: 45 (округлено в большую сторону).
  • -15 если ваш код может обрабатывать AM и PM, отвечая соответственно "de la mañana" и "de la tarde".
  • -15, если ваш код может переводить текущее время, если ввод не предоставлен.

счет

  • Это вызов кода-гольфа, и его будут оценивать байты, а не символы.

Примеры

Вход: 8:10 Выход:Son las ocho y diez.

Вход: 6:45 Выход:Son las siete menos quince (or cuarto).

Вход: 1:29 Выход:Es la una y veintinueve.

Вход: 12:55 Выход:Es la una menos cinco.

Дайте мне знать, если есть что-то, чтобы указать здесь. Это мой первый вопрос, поэтому он определенно не идеален.

mdc32
источник
Для вашей информации, вы можете получить отзыв, прежде чем отправлять в песочнице .
Стрейч Маньяк
1
@ Спарр, я в этом сомневаюсь. Вероятно, для того, чтобы это произошло, должно быть достаточно кодированных чисел - не менее 45 символов, даже с учетом шаблонов.
mdc32
1
@ Денис Хмм ... я думаю, все будет хорошо. Es la una y ceroдовольно повторяющийся, так что я вижу вашу точку зрения. Я не уточнил это, так что, думаю, все будет хорошо. Спасибо за ответ.
mdc32
1
Вы должны добавить 01:21в качестве контрольного примера, потому что по крайней мере один ответчик был смущен тем, что вы сказали о una vs uno .
Питер Тейлор
3
Второй бонус (почти?) Никогда не стоит, потому что только фразы «де ла», «манана» и «тарде» уже насчитывают до 16 байт.
Британское

Ответы:

9

JavaScript (ES6) 308 316

Исправление ошибки Edit2 Edit забыл требовать бонус
Как программа с I / O через всплывающее окно

s='media0uno0dos0tres0cuatro0cinco0seis0siete0ocho0nueve0diez0once0doce0trece0catorce0cuarto0dieci0veint'.split(0),
N=n=>n<16?s[n]:n<20?s[16]+s[n-10]:n>29?s[0]:s[17]+(n>20?'i'+s[n-20]:'e'),
[h,m]=prompt().split(':'),
alert(((h=(10-~h+(m>30))%12)?'Son las '+N(1+h):'Es la una')+(m>30?' menos '+N(60-m):-m?' y '+N(~~m):''))

В качестве тестируемой функции

F=t=>(
  s='media0uno0dos0tres0cuatro0cinco0seis0siete0ocho0nueve0diez0once0doce0trece0catorce0cuarto0dieci0veint'.split(0),
  N=n=>n<16?s[n]:n<20?s[16]+s[n-10]:n>29?s[0]:s[17]+(n>20?'i'+s[n-20]:'e'),
  [h,m]=t.split(':'),
  ((h=(10-~h+(m>30))%12)?'Son las '+N(1+h):'Es la una')+(m>30?' menos '+N(60-m):-m?' y '+N(~~m):'')
)

Тест в консоли FireFox / FireBug

for(i=0;i<13;i++)
{
   console.log(F(i+':'+i)+'. '+F(i+':'+(i+15))+'. '+F(i+':'+(i+30))+'. '+F(i+':'+(i+45)))
}

Выход

Son las doce. Son las doce y cuarto. Son las doce y media. Es la una menos cuarto
Es la una y uno. Es la una y dieciseis. Son las dos menos veintinueve. Son las dos menos catorce
Son las dos y dos. Son las dos y diecisiete. Son las tres menos veintiocho. Son las tres menos trece
Son las tres y tres. Son las tres y dieciocho. Son las cuatro menos veintisiete. Son las cuatro menos doce
Son las cuatro y cuatro. Son las cuatro y diecinueve. Son las cinco menos veintiseis. Son las cinco menos once
Son las cinco y cinco. Son las cinco y veinte. Son las seis menos veinticinco. Son las seis menos diez
Son las seis y seis. Son las seis y veintiuno. Son las siete menos veinticuatro. Son las siete menos nueve
Son las siete y siete. Son las siete y veintidos. Son las ocho menos veintitres. Son las ocho menos ocho
Son las ocho y ocho. Son las ocho y veintitres. Son las nueve menos veintidos. Son las nueve menos siete
Son las nueve y nueve. Son las nueve y veinticuatro. Son las diez menos veintiuno. Son las diez menos seis
Son las diez y diez. Son las diez y veinticinco. Son las once menos veinte. Son las once menos cinco
Son las once y once. Son las once y veintiseis. Son las doce menos diecinueve. Son las doce menos cuatro
Son las doce y doce. Son las doce y veintisiete. Es la una menos dieciocho. Es la una menos tres
edc65
источник
8

Да, наименее ожидаемый язык, который появится на соревнованиях по гольфу, закодированный худшим в мире гольфистом, вернулся!

Java - 676 ​​байт (716-10-15-15)

Golfed:

class A{void main(String[]a){java.util.Calendar c=java.util.Calendar.getInstance();int h,m;String s="";h=c.get(c.HOUR);m=c.get(c.MINUTE);String[]e={"doce","una","dos","tres","quatro","cinco","ses","siete","ocho","nueve","diez","once","doce","trece","catorce","quarto","çseís","çsiete","çocho","çnueve","xe","xiuno","xidós","xitrés","xiquatro","xicinco","xiséis","xisiete","xiocho","xinueve","media"};for(int i=0;++i<30;e[i]=e[i].replace("ç","dieci"),e[i]=e[i].replace("x","vient"));s+=(h==1&m<30|h==12&m>30)?"Es la ":"Son las ";s+=(m<=30)?e[h]:(h==12&m>30)?e[1]:e[h+1];s+=(m==0)?" certas":(m<=30)?" y "+e[m]:" menos "+e[60-m];s+=(c.get(c.AM_PM)==0)?" de la mañana.":" de la tarde.";System.out.println(s);}}

Ungolfed:

public class A {

    public static void main(String[] a) {
        java.util.Calendar c = java.util.Calendar.getInstance();
        int h, m;
        String s = "";
        h = c.get(c.HOUR);
        m = c.get(c.MINUTE);
        String[] e = {"doce", "una", "dos", "tres", "quatro", "cinco", "ses", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quarto", "çseís", "çsiete", "çocho", "çnueve", "xe", "xiuno", "xidós", "xitrés", "xiquatro", "xicinco", "xiséis", "xisiete", "xiocho", "xinueve", "media"};
        for (int i = 0; ++i < 30; e[i] = e[i].replace("ç", "dieci"), e[i] = e[i].replace("x", "vient"));
        s += (h == 1 & m < 30 | h == 12 & m > 30) ? "Es la " : "Son las ";
        s += (m <= 30) ? e[h] : (h == 12 & m > 30) ? e[1] : e[h + 1];
        s += (m == 0) ? " certas" : (m <= 30) ? " y " + e[m] : " menos " + e[60 - m];
        s += (c.get(c.AM_PM) == 0) ? " de la mañana." : " de la tarde.";
        System.out.println(s);
    }
}

Имеет дело с quartoи media, с AM / PM и не имеет ввода. Так что я могу получить все бонусы, даже если бы я не реализовал эти функции, у меня был бы еще более низкий балл, лол. facepalms

Родольфо Диас
источник
6

Питон 3: 294 символа - 10 = 284

h,m=map(int,input().split(':'))
t="y"
d="yunoydosytresycuatroycincoyseisysieteyochoynueveydiezyonceydoceytreceycatorceycuarto".split(t)*2
if m>30:h=h%12+1;m=60-m;t="menos"
print(["Es la una","Son las "+d[h]][h>1],t,[d[m]or"cero",["dieci","veint"+'ei'[m>20],"media"][m//10-1]+d[m%10]][m>15]+".")

Это дает бонус в десять баллов за использование «cuarto» и «media»

Мы читаем часы и минуты как ints. Если минуты больше 30, мы переходим к следующему часу, отсчитываем минуты от 60 и меняем соединение на «menos».

В списке dесть переводы испанских чисел до 15. Мы сделать d[0]бы , ''чтобы предотвратить такие вещи , как «diecicero». Это делается путем неловкого вызова split(' ')с начальным пробелом; регулярный splitпросто проигнорирует это. Случай с нулевой минутой обрабатывается позже.

Чтобы получить числа выше 15, мы объединяем строку из десяти цифр с соответствующей строкой из одной цифры. 15и 30пишутся как «СМИ» и «Cuarto» бесплатно.

Python 3 сохраняет одну сеть символов над Python 2: -4 inputвместо вместо raw_input+2 для паренов в печати, +1 для //.

XNOR
источник
Мне грустно говорить, что это сложнее, чем это. 01:21 должно быть la una y veintiuno, потому что часы женские, а минуты мужские.
Питер Тейлор
@PeterTaylor я вижу. Является ли uno / una единственным затронутым номером?
xnor
Да, хотя, если бы он исчислялся сотнями, были бы другие.
Питер Тейлор
@PeterTaylor Исправлено, для 5 символов.
xnor
@ edc65 К сожалению, я забыл вставить фактическое изменение unaв uno, теперь должно работать.
xnor
5

PHP, 351 349 360 - 15 = 345 байт

<?$a=split(~ß,~œšßŠ‘ß›Œß‹šŒßœŠž‹ßœ–‘œßŒš–ŒßŒ–š‹šßœ—ß‘Šš‰šß›–š…ß‘œšß›œšß‹šœšßœž‹œšßŽŠ–‘œšß›–šœ–߉š–‘‹–ß‹š–‘‹ž)?><?=preg_filter(~Ð×ÑÔÖÅ×ÑÔÖК,'(($h=($1-($k=$2<31))%12+1)>1?~¬‘ß“žŒß:~ºŒß“žß).$a[$h].($k?~߆ß:~ß’š‘Œß).(($m=$k?$2+0:60-$2)<16?$a[$m]:($m<20?$a[16].$a[$m%10]:($m<21?viente:($m<30?$a[17].$a[$m%10]:$a[18])))).~Ñ',$_GET[0]?:date(~·Å–));

Эта программа не является командной строкой: она принимает ввод через $ _GET [0]. Возможно, вам придется отключить уведомления в вашем php.ini. Теперь поставляется с автоматическим временем без ввода, благодаря Niet the Dark Absol.

Используемые хитрости:

~(...) сохраняет один байт путем побитового инвертирования строки, так как вам не нужны кавычки, так как PHP обычно предполагает, что все ASCII от 0x80 до 0xFF являются строками.

<?=preg_filter(...,...): Это <?=ярлык для записи <? echo. preg_filter()обычно применяет замены к строке с помощью регулярного выражения, но мы можем использовать модификатор depreciated / e, чтобы оценить полученную строку как код PHP. Следовательно, вместо того, чтобы разбивать входную строку на две отдельные переменные, мы можем использовать обратные ссылки ($ 1 и $ 2) на соответствующую входную строку, сохраняя большое количество байтов.

Tryth
источник
2
Вы можете претендовать на бонус -15, если вы используете, $_GET[0]?:date(~·Å–)чтобы вычесть 3 из вашего счета.
Niet the Dark Absol
Спасибо. Я сделал это и еще одно незначительное улучшение.
Tryth
5

C ++: 474 ... 422 411 байт

Эта версия выкупает бонус cuarto / media (-10).

#include<cstdlib>
#include<cstdio>
int main(int u,char**v){char*b[]={"cero","una","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","once","doce","trece","catorce","cuarto","dieci","veinti","media",0,"veinte"};int h=atoi(v[1]),m=atoi(v[1]+2+(v[1][2]>57)),n=m>30,o;h=n?h%12+1:h;m=o=n?60-m:m;if(u=m>15&m!=20)o=m%10;printf("%s %s %s %s%s",h>1?"Son las":"Es la",b[h],n?"menos":"y",u?b[m/10+15]:"",b[o?o:m]);}

Моя первая попытка игры в гольф! Постараюсь улучшить это в эти выходные.

Ungolfed:

#include<cstdlib>
#include<cstdio>
int main(int u,char**v)
{
char*b[]={"cero","una","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","once","doce","trece","catorce","cuarto","dieci","veinti","media",0,"veinte"};
int h=atoi(v[1]),m=atoi(v[1]+2+(v[1][2]>57)),n=m>30,o;
h=n?h%12+1:h;
m=o=n?60-m:m;
if(u=m>15&m!=20)o=m%10;
printf("%s %s %s %s%s",h>1?"Son las":"Es la",b[h],n?"menos":"y",u?b[m/10+15]:"",b[o?o:m]);
}
ККЭЗ
источник
1
Не могли бы выm%=10
Timtech
Хорошая точка зрения! К сожалению, в моей новой ревизии я должен присвоить это значение другой переменной, поэтому я не могу.
BMac
Хорошо, просто интересно :)
Timtech
4

Lua, 450 - 10 (cuarto / media) - 15 (manana / tarde) = 425

n={'uno','dos','tres','cuatro','cinco','seis','siete','ocho','nueve','diez','once','doce','trece','catorce','cuarto',[20]='veinte',[30]='media'}for i=1,9 do n[i+10]=n[i+10]or'dieci'..n[i]n[i+20]='veinti'..n[i]end H,M=io.read():match('(%d+):(%d+)')H,M=H+0,M+0 X,Y='tarde',' y 'if H<12 then X='manana'end if M>30 then H,M,Y=H+1,60-M,' menos 'end H=(H-1)%12+1 S=H==1 and'es la una'or'son las '..n[H]if M>0 then S=S..Y..n[M]end S=S..' de la '..X print(S)
  • Сбросил 12 байтов, переписав генератор на 21-29.
  • Брошено еще 1 путем замены H>=12с H<12и переключение на зависимую экспрессию вокруг.
  • Отбросил еще 4, загрязняя глобальное пространство имен от функции (зло, но в интересах игры в гольф :).
  • Исправлено регулярное выражение, я забыл двоеточие. Однако не изменяет количество байтов.
  • Исправлен случай с нулевыми минутами, table.concatзаменой строковых операций и добавлением предложения @ edc65, в итоге добавив 22 байта.
  • Мне стыдно Вытягивание functionтела в основной кусок уменьшило длину на целых 15 байтов .
Криптих стоит с Моникой
источник
Следует использовать «Una» в течение нескольких часов, «Uno» в течение нескольких минут. Так что '01: 01 'должен датьEs la una y uno
edc65
3

D - 484 байта

import std.stdio,std.conv,std.string;void main(){auto n="cero una dos tres cuatro cinco seis siete ocho nueve diez once doce trece catorce quince dieciséis diecisiete dieciocho diecinueve e iuno idos itres icuatro icinco iseis isiete iocho inueve treinta".split;auto p=stdin.readln()[0..$-1];int b=to!int(p[0..$-3]),a=to!int(p[$-2..$]);auto c=a;b=a>30?b+1:b;b%=12;a=a>30?60-a:a;writefln("%s %s %s %s", b==1||b==12?"Es la":"Son las",n[b],c>30?"menos":"y",(a/10==2?"vient":"")~n[a]);}
Hackerpilot
источник
Следует использовать «Una» в течение нескольких часов, «Uno» в течение нескольких минут. Так что '01: 01 'должен датьEs la una y uno
edc65
3

Python 3, 409 байт

d='cero uno dos tres cuatro cinco seis siete ocho nueve diez once doce trece catorce quince dieciseis diecisiete dieciocho diecinueve veinte xuno xdos xtres xcuatro xcinco xseis xsiete xocho xnueve treinta';d=str(d.replace('x','veinti')).split();t=input().split(':');i=int(t[1]);j=int(t[0]);print(["Son las","Es la"][1<(2*j+i/30)%24<=3],[d[[j%12+1,j][i<31]],'una'][j==1],'y'if i<31 else'menos',d[min(i,60-i)])
Hosch250
источник
Длинный список строк можно сократить как'string1 string2 string3'.split()
xnor
@xnor Хорошо, спасибо!
Hosch250
@ hosch250 Кроме того, убедитесь, что вы снова читаете комментарии в оригинальном сообщении. Я, вероятно, внесу множество незначительных изменений в правила, и они, вероятно, помогут вам в игре в гольф.
mdc32
@ mdc32 Настройка прямо сейчас. В любом случае у меня были некоторые ошибки.
Hosch250
2
Вы можете сократить d[j]if i<31 else d[(j+1)%12]до d[(j+(i>30))%12]. В общем, если ваши две альтернативы имеют схожую структуру, вы часто можете сделать простое выражение, равное каждому соответствующему в зависимости от логического значения.
xnor
3

Руби, 313 (338 - 15 - 10)

Это решение переводит текущее время, когда не было введено никаких данных, и добавляет три фразы «y cuarto», «y media» и «menos cuarto».

require'time'
t,x,s=Time,$*[0],%w[cero una dos tres cuatro cinco seis siete ocho nueve diez once doce trece catorce cuarto]
1.upto(9){|i|i>5?s[10+i]="dieci"+s[i]:0;s[20+i]="veinti"+s[i]}
s[20]="veinte"
s<<"media"
c=x ?t.parse(x):t.new
h,m=c.hour%12,c.min
m<31?(a=" y "):(h,m,a=h+1,60-m," menos ")
$><<(h<2?"Es la ":"Son las ")+s[h]+a+s[m]
britishtea
источник
Это работает? Пробовал в ideone, ввод '01: 01 ', текущее время 20:09, вывод:Son las ocho y diecioch
edc65
Все тестовые задания пройдены для меня локально. Я вижу, что что-то пошло не так с копированием чисел, поэтому я исправлю это.
Британское
1
«seite» должно быть «siete», а «neuve» должно быть «nueve»
jmm
2

Баш 423

(433 - 10 = 423, без диакритических знаков и cuarto мы могли бы спуститься до 381)

IFS=: read h m
s=y
m=${m#0}
[ $m -gt 30 ]&&h=$(($h+1))&&s=menos
[ -z ${m%0} ]&&s=en&&m=punto
n[0]=0
o[0]=0
S=" séis siete ocho nueve"
n=(punto una dos trés cuatro cinco $S diez {on,do,tre,cator,quin}ce ${S// / dieci} veinte)
n=($(eval echo "${n[@]}" veinti\$\{n[{1..9}]\}))
n[3]=tres;n[6]=seis
n=(${n[@]} media\  $(tac -s' '<<<${n[@]}))
o=("${n[@]/q*/cuarto}")
a=Son\ las
[ $h = 1 ]&&a=Es\ la
echo $a ${n[$h]/p*/cero} $s ${o[$m]/%a/o}
Анхель
источник
Он уже использует «una» для часов и «uno» для минут. Посмотри внимательнее :)
Анхель
Извините, это не ясно с первого взгляда, и bash трудно проверить в Windows. +1 тогда.
edc65
@ edc66, порядковые номера в феменине, затем $ {o [$ m] /% a / o} заменяет завершающий a на o на минуты.
Анхель
2

Perl - 297 - 10 + 1 = 288 (считая pфлаг)

Редактировать: благодаря @guifa, теперь я могу получить бонус :)

#!/usr/bin/perl -p
sub n{($_=shift)%10?(once,doce,trece,catorce,cuarto)[$_>9?$_-11:5]||('',dieci,veinti)[$_/10].(0,un.pop,dos,tres,cuatro,cinco,seis,siete,ocho,nueve)[$_%10]:(cero,diez,veinte,media)[$_/10]}/:/;$a=$`%12;$b=$';$c=$b>30?(++$a,$b=60-$b,menos):'y';$_=($a-1?'Son las ':'Es la ').n($a,a)." $c ".n($b,o).'.'

Вот один и тот же код в несколько строк для удобства чтения:

sub n {
        ($_ = shift) % 10
            ? (once, doce, trece, catorce, cuarto)[$_ > 9 ? $_ -11 : 5]
                || ('', dieci, veinti)[$_ / 10]
                . (0, un.pop, dos, tres, cuatro, cinco, seis, siete, ocho, nueve)[$_ % 10]
            : (cero, diez, veinte, media)[$_ / 10]
}
/:/;
$a = $` % 12;
$b = $';
$c = $b > 30 ? (++$a, $b = 60 - $b, menos) : 'y';
$_ = ($a - 1 ? 'Son las ' : 'Es la ') . n($a, a) . " $c " . n($b, o) . '.'
core1024
источник
Следует использовать «Una» в течение нескольких часов, «Uno» в течение нескольких минут. Итак, '01: 01 '- должен датьEs la una y uno
edc65
Если вы просто измените «айва» на «cuarto» и «treinta» на «media», вы получите бонус -10.
user0721090601
@ edc65 Надеюсь, теперь все в порядке ...
core1024
0

Scala 652 байта - 25

import java.util.Scanner
object S extends App{val s=new Scanner(System.in).useDelimiter("[:\n]")
var h=s.nextInt
var m=s.nextInt
if(m>30)m-=60 else h-=1
val n=m.abs
h%=24
val p=h%12
val l=List("una","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","once","doce","trece","catorce","cuarto")
val k=List("úno","dós","trés",l(3),l(4),"séis",l(6),"ócho",l(8))
println(s"""${if(p==0)"Es la"else"Son las"} ${l(p)} ${if(m>0)"y "else if(m<0)"menos "}${if(n==1)"uno"else if(n==0)""else if(n<=15)l(n-1) else if(n==30)"media"else if(n<20)"dieci"+k(n-11)else if(n==20)"veinte"else"veinti"+k(n-21)} de la ${if(h<12)"mañana"else"tarde"}.""")}
bb94
источник
0

Pyth : 277 больше 234 - 10 (бонус cuarto / media) = 224 байта

Теперь уменьшено более 50 байтов от оригинала!

=H" y "ANkmsdcz\:Kc"cero uno dos tres cuatro cinco seis siete ocho nueve diez once doce trece catorce cuarto veinte"dI>k30=k-60k=H" menos "=N?1qN12+N1)++?+"Son las "@KN>N1"Es la una"H??eKqk20?@Kk<k16+?"dieci"<k21+PeK\i@K%kT<k30"media"

Безумно скучаю по Пифу, но это потому, что есть некоторые необработанные данные. Возможно, можно играть в гольф еще дальше. Использует очевидную технику разбиения задачи на часы, y / menos, десятки цифр минут и единицы цифр минут, а затем переводит числа с использованием массива перевода, а все остальное - с использованием троицы.

=H" y "                 Set H to " y "
A                       Double Assignment
 Nk                     The variables N and k (hours and mins)
 m  cz\:                Map input split by ":"
  sd                    Make both int
Kc"..."d                Set K to string split by spaces
I>k30                   If k>30
     =k-60k             Set k to 60-k
     =H" menos "        Set k to menos instead of y
     =N                 Set N
      ?   qN12          If N=12
       1                Go back to one
       +N1              Increment N
)                       Close entire if block 
+                       Concat of hours and minutes
 +                      Concat hours and y/menos
  ?           >N1       If hour greater than one
   +                    Concat of son las and hour
    "Son las "          "Son las "
    @KN                 Index translation array for hour
   "Es la una"          Else es la una
  H                     " y " or " menos "
 ?               <k30   If minutes less than 30
  ?  qk20               If minutes is 20
   ek                   Last element of array (veinte)
   ?   <k16             Else check if minutes<16
    @Kk                 Get minutes directly from array
    +                   Else tens and ones sum
     ?       <k21       If minutes<21
      "dieci"           "dieci"
      +PeK\i            Else get veinti from veinte
     @K%kT              Ones digit of minutes
  "media"               Else get "media"

История гольфа

  • 10 байтов - бонус, айва и триента могут быть просто заменены в массиве перевода, поэтому никаких изменений не требуется, кроме эссе перевода и его одинакового размера.
  • 6 байтов - реорганизованные троичные - к сожалению, это удалило 4 последовательных троичных оператора :(
  • 6 байт - другие виды игры в гольф
  • 6 байтов - начальное присвоение часа / мин в гольфе
  • +3 байта - исправлено uno / una
  • 3 байта - построенный вейнти из вейнта, не закодированный
  • 18 байт - извлеченные dieci из подростков <16
  • 2 байта - убрал некоторые пробелы без причины
  • 2 байта - используется \ для одной строки символов
Maltysen
источник
Для 1-символьных строк, таких как ":"и "i", используйте \:и \iвместо.
Исаак
@isaacg о, круто, я не знал, что ты мог бы сделать это, обновляясь
Maltysen