Числа для букв


15

Існує дуже простий шифр, який замінює букву своїм розташуванням в алфавіті. Наприклад, abcстав би 1 2 3в цій шифрі.

Цей виклик є альтернативним рішенням цього шифру.


Змагання

Створіть програму, яка приймає введення символів ASCII та виводить рядок, розділений пробілом:

  • цілі числа -26наскрізь26

  • літери aнаскрізьj

Вихід повинен надходити через STDOUT або найближчу альтернативу вашій мові.


Технічні умови

  • Великі літери слід заперечувати. Столиця D, наприклад , буде -4, в той час як в нижньому регістрі dбуде 4.

  • Цифри слід змінити на альфа-аналоги. 1буття aтощо. Будь-які нулі на вході будуть j.

  • Усі не алфавітно-цифрові символи (крім пробілів) слід ігнорувати.

  • Проміжки є 0.

  • Суміжні проміжки у висновку повинні бути зменшені до одного простору.

    Input: You + Me
    Correct Output: -25 15 21 0 -13 5
    Incorrect Output: -25 15 21 0 0 0 -13 5
    
  • Допускається єдиний пробіл або новий рядок.


Приклади

Input: programming puzzles
Output: 16 18 15 7 18 1 13 13 9 14 7 0 16 21 26 26 12 5 19

Input: Code Golf
Output: -3 15 4 5 0 -7 15 12 6

Input: Programming Puzzles & Code Golf
Output: -16 18 15 7 18 1 13 13 9 14 7 0 -16 21 26 26 12 5 19 0 -3 15 4 5 0 -7 15 12 6

Input: C0d3 G0lf
Output: -3 j 4 c 0 -7 j 12 6

Input: abc_ABC
Output: 1 2 3 -1 -2 -3

Табло

Щоб ваш рахунок з’явився на дошці, він повинен бути у такому форматі:

# Language, Bytes

Перекреслення не повинно викликати проблем.



Чи може на виході бути пробіли?
Денніс

Так. Допускається єдиний пробіл або новий рядок. @Dennis
Zach Gates

Чи функція, що повертає / друкує рядок, є дійсною відповіддю? Ви також можете додати тестовий випадок на зразок "abc_ABC", щоб виключити всі [^ \ w] і [\ W] виразки?
Макс

Я не був повністю впевнений, про що ви питали, але я додав цей тестовий випадок. Я сподіваюся, що це ви шукали; якщо ні, то дайте мені знати. @Max
Zach Gates

Відповіді:


10

CJam, 58 57 54 51 50 49 байт

Якраз, коли я написав пояснення, я помітив, що одну з альтернативних 50-ти байтних версій можна скоротити на байт ...

q_el_eu&S-A,s--S%S*{i_32md\2*5-*48md@)A%'a+\?}%S*

Тестуйте це тут.

50 байт:

q_el_eu&S-A,s--S%S*{_A,s&\i_)A%'a+\32md\2*5-*?}%S*
q_el_eu&S-A,s--S%'`*{i32md:D;(_(2*(D*D3+A%'a+?}%S*
q_el_eu&S-A,s--S%'`*{i32md\(_@_@(2*(*\3+A%'a+?}%S*
q_el_eu&S-A,s--S%'`*{i32md\(_(2*(g@*_z3+A%'a+?}%S*

Пояснення

q         e# Read input.
_el_eu&   e# Intersect a lower-case version with an upper-case version to remove
          e# all letters.
S-        e# Remove spaces from that string.
A,s-      e# Remove digit characters from that string. It now contains all the
          e# the characters from the input we should ignore.
-         e# Remove these characters from the input.
S%S*      e# Split on runs of spaces and join by spaces, collapsing multiple into one.
{         e# Map this block onto each character...
  i_      e#   Convert to character code and make a copy.
  32md    e#   Get divmod 32. Note that digits have character codes 32 + something,
          e#   the upper case letters have character codes 64 + n (where n is the 
          e#   absolute value we want), while lower case letters have codes 96 + n. 
          e#   So the div gives 2 or 3 to distinguish capitalisation (and 1 for digits) 
          e#   and the mod gives the correct absolute value for letters.
          e#   As it happens, the mod also gives 0 for spaces.
  \2*5-   e#   Pull up the div, duplicate, subtract 5. Turns 2 into -1 and 3 into 1. 
          e#   It also turns 1 (digits) into -3.
  *       e#   Multiply the mod by this sign.
          e#   We now have the correct result for everything but digits. Note that
          e#   the absolute value for digits is more than 26, and for everything
          e#   else it's less than 27.
  48md    e#   Get divmod 48. This gives div 0 and mod n for all correct results n.
          e#   For digits it gives div -1 and we don't care about the mod. We'll
          e#   use the div as a truthy/falsy value to select the right result.
  @)A%    e#   Pull up the other copy of the character code, increment 
          e#   (range 49..58), take modulo 10.
          e#   This gives 9 for 0 and n-1 for any other digit n.
  'a+     e#   Add to the character a.
  \?      e#   Select the correct result based on the div 48.
}%
S*        e# Join the resulting values by spaces.

Це, мабуть, вперше, щоб модульна поведінка CJam щодо негативних значень була корисною для мене.


6

JavaScript (ES6), 110 107 133 120 байт

Візьми це, старий я!

a=>[...a.replace(/[\W_]*?( ?)[\W_]*/g,'$1')].map(x=>(c=x.charCodeAt())<40?0:c<60?'jabcdefghi'[x]:c<91?64-c:c-96).join` `

Там, можливо, набагато більше місця для гри в гольф, особливо в реджексах, немає, що це дуже добре. Негольована версія:

function f(a) {
  // Replaces each run of bad chars and spaces with
  // a space if it contained one, nothing otherwise:
  a = a.replace(/[\W_]*?( ?)[\W_]*/g, '$1');

  var b = a.split('');
  b = b.map(function(x) {
    var c = x.charCodeAt();
    if (c == 32)     // space
      return 0;
    else if (c < 60) // numbers
      return 'jabcdefghi'.charAt(x);
    else if (c < 91)
      return 64 - c; // uppercase
    else
      return c - 96; // lowercase
  });
  b = b.join(' ');
  return b;
}

Пропозиції Ласкаво просимо!


Тест '123___abc'. Підказка: вам потрібно
попрацювати

Ще одна проблема: All non-alphanumeric characters should be ignored.. Тест: 'A $ b' має бути-1 2
edc65

@ edc65 Ах, чоловіче, я думав, що це я зробив ... Але дякую, що дав мені знати!
ETHproductions

4

Pyth, 50 49 байт

jdm?>d26C+70ddm-xZd26:-z-z=Zs[_rG1dGjk.<UT1)" +"d

Спробуйте це тут .

Редагувати: реструктуризована рядова санітація для забезпечення правильної обробки підкреслень. Це навіть врятувало байт, так!

Ця програма створює рядок пошуку, який використовується для очищення вводу. Потім це відображається у відповідний індекс у цьому рядку. Нарешті, будь-який індекс, що перевищує 26, перетворюється на правильний символ ASCII.

                                                     Implicit: z=input(), d=' ', ,
                                                       k='', G=[a-z]
                              _rG1                   Reversed, capitalised alphabet
                                  d                  Single space
                                   G                 Lower case alphabet
                                    jk.<UT1          '1234567890'
                            s[             )         Concatenate the 4 previous statements
                          =Z                         Store in Z
                        -z                           Setwise difference of input and above
                                                       (to get all illegal characters)
                      -z                             Setwise difference of input and illegal chars
                     :                      " +"d    Regex replace to lose multiple spaces
              m                                      Map the above over d:
                xZd                                    Get index of d in Z
               -   26                                  Subtract 26
  m                                                  Map the above over d:
   ?>d26                                               If d > 26
        C+70d                                            Convert (d+70) to ASCII
             d                                         Otherwise, select d
jd                                                   Join on spaces and print

Попередня версія, яка використовувала \Wрегулярний вираз, на 50 байт:

jdm?>d26C+70ddm-xs[_rG1\ Gjk.<UT1)d26::z"\W"d" +"d

3

Юлія, 145 136 байт

r=replace;print(join([47<x<58?x+58-10(x>48):x==32?0:cmp(x,96)*(lowercase(x)-96)for x=r(r(readline(),r"[^a-z0-9 ]"i,""),r" +"," ")]," "))

Безголівки:

# Read a string from STDIN
input = readline()

# Remove non-alphanumeric characters and replace duplicated spaces
r = replace(replace(input, r"[^a-z0-9 ]"i, ""), r" +", " ")

# Construct an array using comprehension over the replaced input string
A = [47 < x < 58 ? x + 58 - 10(x > 48) : x == 32 ? 0 : cmp(x, 96) * (lowercase(x) - 96) for x = r]

# Join the array elements with spaces
j = join(A, " ")

# Print to STDOUT
print(j)

Для отримання цифр у вигляді літер ми додаємо 58 до значення ASCII і віднімаємо 10, якщо поточний символ не дорівнює 0. Це гарантує, що 0 карт jі інші цифри відображатимуть у a-i .

Позначення великих літер робиться за допомогою cmp. Це поверне -1 для малих літер та 1 для малих літер.

Спробуйте в Інтернеті


2

Perl 5, 120 116 113 105 байт

Спочатку прибирає небажані символи та додаткові пробіли.
Потім піднімається вниз по таблиці ascii для кожного персонажа.

$_=pop;s/[^\w ]|_//g;s/ +/ /g;map{$n=ord;say$".($n>96?$n-96:$n>64?64-$n:$n>48?chr$n+48:$n>47?j:0)}split//

Тест

$ perl -M5.01 numbers4letters.pl "zZaA _ 190"
 26 -26 1 -1 0 a i j
$ perl -M5.01 numbers4letters.pl "PrOgr4mm1n9 Puz2l3s & C0d3_G0lf!"
-16 18 -15 7 18 d 13 13 a 14 i 0 -16 21 26 b 12 c 19 0 -3 j 4 c -7 j 12 6

2
Ви можете пограти одним символом з одним пробілом в регулярному виразі замість \ s, а другий регулярний гекс можна пограти в гольф s/ +/ /g, перший регекс неправильний, оскільки \ w відповідає символу підкреслення
Макс

2
Ще два персонажі вийшли зs/[^\w ]|_//g
Макс

Приємно, навіть краще, ніж з прапором ігнорування справи.
LukStorms

@Max приємний натяк. 2 байти зберегли у моїй відповіді, дякую.
edc65

2

С, 142 138 135

c,d;main(s){while(c=getchar()+1)d=c|32,c=d-98<26u?s=(d-97)*(c/32*2-5),0:c-48<11u?s='a'+c%10,4:c==33&&s?s=0,0:3,printf("%d \0%c "+c,s);}

Трохи невольфів:

int c,d;
int main(int s)                     // s initially non-zero, meaning spaces are allowed
{
    while(c=getchar()+1)            // getchar until EOF (-1) encountered
    {
        d=c|32;                     // d becomes lowercase c (both incremented by 1)
        if (d-98<26u)               // check for letter
        {
            s=(d-97)*(c/32*2-5);    // print this number and allow subsequent spaces
            c=0;                    // format string will be "%d "
        }
        else if (c-48<11u)          // check for digit
        {
            s='a'+c%10;             // print this letter and allow subsequent spaces
            c=4;                    // format string will be "%c "
        }
        else if (c==33&&s)          // else if space and allowed to output spaces
        {
            s=0;                    // print 0 and disallow subsequent spaces
            c=0;                    // format string will be "%c "
        }
        else
        {
            c=3;                    // format string will be "", prints nothing
        }
        printf("%d \0%c "+c,s);     // final c is treated as index into string literal
    }
}

Проходить дані тести в GCC 4.9.3 & Clang 3.5.2.


2

> <> (риба), 219 209 байт

>i:84*=?v:86*1-)?!^:f4*2-(?v:88*)?!v:a9*1+(?v:c8*)?!^:ca*3+  (?v~
>4*(?vov>~86*$:@=?v86*00.  >:86*=?v77*1-+00.>88*-::-$-00.01-*8c<
 >.! ! ! 00~v?( 0:\00. >.!00+6*aa~<>~    92*2!.<2*29<
^7:;?=0:<r0~<
*o73.>n>84

Спробуйте це тут

Це моя перша відповідь з кодом на гольф! Нарешті вдалося використати мову, яку я хотів використати для виклику коду для гольфу, і це здавалося ідеальним, враховуючи, що символи автоматично перетворюються на десяткові знаки.

Я очікував, що результат буде коротшим, але, очевидно, ні. Хоча, я не надто сильно займався гольфом. Є кілька місць, які код може бути чистішим / мати більше сенсу, але не врятує жодних байтів, оскільки вони знаходяться в місцях, де пробіл потрібен. Можливо, є спосіб зберегти кілька байтів на останньому біті у другому рядку, змусивши його піти в зворотному напрямку і переплутати з 00 вже там, мені доведеться пограти з ним більше пізніше

В основному, це перевіряє, чи є поточний знак пробілом, цифрою, великою літерою або малою літерою, перевіряючи, чи знаходиться в діапазоні найвищих / найнижчих значень цієї групи. Якщо це не один із них, він відкидається. Якщо він знаходиться в одному з таких, він перетворюється на число, якщо це буква, і буква, якщо це число (а точніше, число від 97-106, які є значеннями для букв aj). Потім він перевіряє, чи не є найвищим значенням менше 28; у такому випадку це число та виводить число, інакше це літера та виводить букву, яку це число представляє, виводить пробіл, а потім циклічно, поки стек не порожній.


2

JavaScript (ES6), 108 122 124

Редагувати За допомогою regexp з коментаря @ Макса
Edit2 14 байтів збережено завдяки ETHProductions

EcmaScript 6 лише для функцій зі стрілками, тому він повинен працювати у Firefox та останніх Chrome.

Тест запустіть фрагмент нижче

F=
t=>t[R='replace'](/[^\w ]|_/g,'')[R](/ +|./g,c=>((v=parseInt(c,36))>9?c>'Z'?v-9:9-v:'jabcdefghi'[v]||0)+' ')

// Less golfed
U=t=>
  t.replace(/[^\w ]|_/g,'') // remove invalid characters
  .replace(/ +/g,' ') // collapse spaces
  .replace(/./g, c => ( // valid character replacing
    v = parseInt(c,36), // '0'..'9'-> 0..9, 'a'..'z' -> 10..25, ' ' -> NaN
    (
      v > 9 
      ? c > 'Z' ? v-9 : 9-v // manage upper vs lower
      : 'jabcdefghi'[v] || 0 // digits, NaN as an index gives undefined, substituted with 0
    ) + ' ' // separator space
  ))


// TEST
out=x=>O.textContent=x+'\n'+O.textContent;

function go() { out(I.value + ' --> ' + F(I.value) +'\n')}

// test cases, a trailing blank added to the expected output as ...
// "A single trailing space or newline is allowed."

;[
  ['A$b','-1 2 ']
, ['123___abc', 'a b c 1 2 3 ']
, ['You + Me','-25 15 21 0 -13 5 ']
, ['programming puzzles', '16 18 15 7 18 1 13 13 9 14 7 0 16 21 26 26 12 5 19 ']
, ['Code Golf', '-3 15 4 5 0 -7 15 12 6 ']
, ['Programming Puzzles & Code Golf', '-16 18 15 7 18 1 13 13 9 14 7 0 -16 21 26 26 12 5 19 0 -3 15 4 5 0 -7 15 12 6 ']
, ['C0d3 G0lf', '-3 j 4 c 0 -7 j 12 6 ']
].forEach(t=>{ 
  k=t[1],r=F(t[0]), 
  out('Test '+(k==r?'OK':'Fail')+'\nInput:  '+t[0]+'\nResult: '+r+'\nCheck:  '+k+'\n')
})
Custom test: <input id=I><button onclick='go()'>-></button>
<pre id=O></pre>


Я можу помилятися, але я думаю, що ви можете зберегти цілу купу, змінивши [R](/ +/g,' ')[R](/./g,на [R](/ +|./g,. (Вибачте за те, що ви
знайдете

@ETHproductions здається гарним. Дякую
edc65


1

CJam, 52 байти

'{,97>:L_eu+A,s(++S+l{1$&},S%S*\26,:)_Wf*+LA<+0+erS*

Спробуйте в Інтернеті

Ключова частина рішення - це те, що він використовує erоператор CJam (транслітерація). Як аргументи оператору, йому потрібен список усіх символів та список відповідних значень.

Як крок попередньої обробки на вході, він видаляє символи, які не входять до таблиці перекладу (спеціальні символи), і зменшує повторні пробіли до одного простору.

Пояснення:

'{,97>  Build list of all lower case letters.
:L      Save it in variable L for later reuse.
_eu+    Add list of upper case letters.
A,s     Build digits "0123456789".
(+      Pop off first digit and append it at the end, to get "1234567890".
+       Add digits to list of characters.
S+      Add a space. List of characters that have values is now complete.
l       Get input.
{1$&},  Filter out all input characters that are not in list.
S%      Split input at spaces.
S*      And re-assemble it with spaces. This reduces multiple spaces to one space.
\       Swap input and character list.
26,     Start building list of values. Start with [0 ... 25].
:)      Use "smilie operator" to increment all values, to get [1 ... 26].
        These are the values for the lower case letters.
_Wf*    Copy the list and negate the values to get [-1 ... -26] for upper case.
+       Concatenate the two lists.
L       Retrieve the list of lower case letters we saved away earlier.
A<      Keep the first 10, which are the values for the digits.
+       Concatenate to list of values.
0+      Add 0 to list, as value for space.
er      Transliterate input string to corresponding values.
S*      Join with spaces for output.

1

Пітон 2, 191 179 177 173 172 168 160 байт

import re
print" ".join([[[chr(x+48),"j"][x<49],[`[x-96,-x+64][x<96]`,"0"][x<65]][x>57or x<33]for x in map(ord,re.sub(" +"," ",re.sub("[^\w ]|_","",input())))])

Тест

"programming puzzles"
16 18 15 7 18 1 13 13 9 14 7 0 16 21 26 26 12 5 19

"Code Golf"
-3 15 4 5 0 -7 15 12 6

"Programming Puzzles & Code Golf"
-16 18 15 7 18 1 13 13 9 14 7 0 -16 21 26 26 12 5 19 0 -3 15 4 5 0 -7 15 12 6

"C0d3 G0lf"
-3 j 4 c 0 -7 j 12 6

"You + Me"
-25 15 21 0 -13 5

1

PHP, 116 байт

while($c=ord(preg_replace(["#[^\w ]|_#","# +#"],["","@"],$argn))[$i++])echo$c<96?jabcdefghi[$c-48]?:64-$c:$c-96," ";

приймає вхід від STDIN; бігати з -nR.

зламатися

while($c=ord(preg_replace(["#[^\w ]|_#","# +#"],["","@"],$argn) # sanitize input
    [$i++]))echo            # loop through string and print ...
    $c<96                       # if not lowercase:
        ?jabcdefghi[$c-48]          # digit -> letter
        ?:                          # if that turned out falsy (=empty):
        64-$c                       # uppercase (or former spaces) -> negative (or 0)
    :$c-96                      # else -> positive
," ";                           # append space

Ви можете замінити клавішу @backtick для обробки пробілів у нижній частині.
З jabcdefghi0цифрами ви також можете використовувати :.


Я вважаю, що ви повинні змінити порядок "#_|[^\w ]#"замість цього "#[^\w ]|_#".
Йорг Гюльсерманн

0

Hassium , 1156 байт

func main() {s = input();c="";for(x=0;x<s.length;x++){c=s[Convert.toNumber(Convert.toString(x))].toString();if (c.toLower()!=c)print(r(c.toLower())*-1);else if(r(c)=="")continue;else print(r(c));print(" ");}}func r(c) {if(c=="a")return 1;else if(c=="b")return 2;else if(c=="c")return 3;else if(c=="d")return 4;else if(c=="e")return 5;else if(c=="f")return 6;else if(c=="g")return 7;else if(c=="h")return 8;else if(c=="i")return 9;else if(c=="j")return 10;else if(c=="k")return 11;else if(c=="l")return 12;else if(c=="m")return 13;else if(c=="n")return 14;else if(c=="o")return 15;else if(c=="p")return 16;else if(c=="q")return 17;else if(c=="r")return 18;else if(c=="s")return 19;else if(c=="t")return 20;else if(c=="u")return 21;else if(c=="v")return 22;else if(c=="w")return 23;else if(c=="x")return 24;else if(c=="y")return 25;else if(c=="z")return 26;else if(c==" ")return 0;else if(c=="1")return "a";else if(c=="2")return "b";else if(c=="3")return "c";else if(c=="4")return "d";else if(c=="5")return "e";else if(c=="6")return "f";else if(c=="7")return "g";else if(c=="8")return "h";else if(c=="9")return "i";else if(c=="0")return "j";else return"";}

Дуже довга відповідь


1
Місця, що згортаються, не зовсім працює. You + Meвиробляє вихід -25 15 21 0 0 -13 5.
Денніс

1
Цікава мова, на зразок C / Java / [інша мова, яку я не можу згадати]. Чи є простіший спосіб перетворення кожного символу в число, тобто функція для отримання char-коду ? (Прокрутіть униз до таблиці і подивіться на Decстовпчик.)
ETHproductions

0

Желе , 32 байти, виклик мови після публікації

⁶ØB;µ³fi@€
Øaḣ⁵ṙ9
26RµN;;0¢;ị@ÑK

Спробуйте в Інтернеті!

Пояснення

Допоміжна функція1Ŀ (переводить кожен буквено-цифровий / пробіл на вході в число)

⁶ØB;µ³fi@€
⁶           space
 ØB;        append all digits, uppercase and lowercase letters (in that order)
    µ       set as the new default for missing arguments
     ³      first command-line argument
      f     delete all characters not in {space + alphanumerics}
       i@€  take index of each element within {space + alphanumerics}

Допоміжна функція (повертає постійну рядок “jabcdefghi”)

Øaḣ⁵ṙ9
Øa      lowercase alphabet
  ḣ⁵    take first 10 elements
    ṙ9  rotate 9 elements to the left

Основна програма

26RµN;;0¢;ị@ÑK
26R             Range from 1 to 26
   µ            set as default for missing arguments
    N           Minus {each element of the range from 1 to 26}
     ;          with {the range from 1 to 26} appended
      ;0        with a 0 appended
        ¢;      with the result of 2£ prepended
          ị@    index into this using
            Ñ   the result of 1Ŀ
             K  separate by spaces

0

Сітківка, 74 70 байт (неконкурентна)

Зверніть увагу на провідний пробіл у рядку 3, пробіл у рядку 6 та порожній другий рядок.

[^ \ w] | _

 +
~
.
$ + 
[AZ]
- $ +
T`L`l
[js]
$ +
[тз]
b $ +
T` ~ ld`dd0-6jl

Спробуйте в Інтернеті!

Хоча мова була зроблена перед викликом, я вважаю, що деякі мовні функції, які я використав, відклали виклик, тому я позначив це як неконкурентне.


0

Java 7, 257 254 байт

class M{public static void main(String[]a){String r="",x;for(int c:a[0].getBytes()){x=(c>96&c<123?c-96:c>64&c<91?"-"+(c-64):c>48&c<58?(char)(c+48):c==48?"j":c<33?0:"")+"";r+=!x.isEmpty()&&!(r.endsWith("0 ")&x.equals("0"))?x+" ":"";}System.out.print(r);}}

Спробуйте тут.

Пояснення:

class M{                               // Class
  public static void main(String[]a){  //  Required main-method
    String r="",                       //   Result-String
      x;                               //   Temp String
    for(int c:a[0].getBytes()){        //   Loop over the characters of the input-String
      x=(                              //    Set the temp String to:
        c>96&c<123?                    //     If it's a lowercase letter:
          c-96                         //      Set `x` to the 1-indexed alphabetic index
        :c>64&c<91?                    //     Else-if it's a uppercase letter:
          "-"+(c-64)                   //      Set `x` to the 1-indexed alphabetic index as negative
        :c>48&c<58?                    //     Else-if it's a digit 1-9:
          (char)(c+48)                 //      Set `x` to the 1-indexed alphabetic character
        :c==48?                        //     Else if it's a zero:
          "j"                          //      Set `x` to "j"
        :c<33?                         //     Else if it's a space:
          0                            //      Set `x` to "0"
        :                              //     Else:
          ""                           //      Set `x` to an empty String
       )+"";                           //     Required `+""` because `(char)` and `0` aren't Strings
      r+=                              //    Append the result-String with:
        !x.isEmpty()                   //     If `x` has a value
        &&!(r.endsWith("0 ")&x.equals("0"))?
                                       //     and it's not "0" with the previous value also being a zero
          x+" "                        //      Append the value of `x`, plus a space
        :                              //     Else:
          "";                          //      Append nothing
    }                                  //   End of loop
    System.out.print(r);               //   Print the result to STDOUT
  }                                    //  End of main-method
}                                      // End of class

Приклад введення та виведення:

Input:
Programming Puzzles & C0d3 G0lf

Output:
-16 18 15 7 18 1 13 13 9 14 7 0 -16 21 26 26 12 5 19 0 -3 j 4 c 0 -7 j 12 6 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.