Калькулятор, который добавляет значения символов

18

задача

Создайте калькулятор, который берет любую строку из файла, стандартного ввода или чего-то еще и суммирует все значения символов.

пример

Input
Hello World!

Output
1085

правила

Калькулятор должен принимать только кодировку ASCII.

Самый короткий код выигрывает.

Примечания

Что касается комментария m.buettner, я должен сказать, что я не думал о многобайтовой части.
Поэтому я оставляю это как бонусную вещь.
Калькулятор должен работать как написано, поэтому нет необходимости изменять перед компиляцией или интерпретацией.

бонус

Благодаря Synthetica , вот еще один бонус,

Программа , которая имеет самый низкий выход при использовании его в качестве кода входных выигрышей получает звезду.

Я не хочу изменять это полностью.

Если вы напишите это дополнительно для вывода (правого) значения в UTF-8, вы получите звездочку.

Код, который выполняется быстрее всего на моем ноутбуке (Lenovo Yoga 13 Intel Core i5 3317U 1,7 ГГц, 8 ГБ ОЗУ, 128 ГБ SSD, Intel HD 4000, Windows 8) получает звезду.

Веб-коды будут запускаться сначала в IE11 с чакрой, а затем в FireFox 29.0.1 с SpiderMonkey.

Код Linux будет работать на Raspberry Pi с Raspbian.

Тестовая строка это:

q/%8hnp>T%y?'wNb\},9krW &D9']K$n;l.3O+tE*$*._B^s!@k\&Cl:EO1zo8sVxEvBxCock_I+2o6 yeX*0Xq:tS^f)!!7=!tk9K<6#/E`ks(D'$z$\6Ac+MT&[s[]_Y(`<g%"w%cW'`c&q)D$0#C$QGf>?A$iawvc,}`9!('`c&q)D$0#C$QGf>?A$iawvc,}`9!(

Веселого программирования :)

Bonusscoring

Я планирую забить в эту субботу, поэтому 07.06.14, все ответы после этой даты не получат бонусных баллов;)

Вы можете скачать код, который я собираюсь использовать для тестирования здесь, не стесняйтесь, чтобы раскошелиться и улучшить его :)

Небольшое обновление из-за бонуса, мой ноутбук частично сломан, поэтому я сделаю это, вероятно, в следующие выходные, мне очень жаль :(

Knerd
источник
3
Я получаю 1085 за Hello World!использование двух разных языков для значений ASCII на моем компьютере.
Кайл Канос
1
Он, вероятно, забыл добавить «!». редактировать вы были на 3 секунды быстрее ...
gxtaillon
1
Не могли бы вы объяснить, что отрицательные голоса?
Knerd
3
Я предполагаю, что отрицательные голоса показывают, что это не очень хорошая проблема.
Кайл Канос
5
В основном @Knerd, потому что это немного слишком тривиально в большинстве языков (как вы можете видеть из длины уже полученных материалов)
Мартин Эндер

Ответы:

10

GolfScript, 4 символа

{+}*

Просто использует оператор сгиба ( *), чтобы сложить все символы.

Если он должен работать с пустой строкой, 9 символов:

{{+}*}0if

Спасибо @PeterTaylor за предоставление альтернативной 6-символьной версии, которая работает с пустой строкой:

0\{+}/
Дверная ручка
источник
Не работает с пустой строкой.
Говард
@ Ховард Хороший вопрос; изм.
Дверная ручка
0\{+}/поддерживает пустую строку
Питер Тейлор
1
@ Doorknob извините за глупый вопрос, как мне вводить данные? Я использую golfscript.apphb.com
Knerd
2
@immibid Циклоп со странным глазом. :-P (или, в GolfScript, лицо «поменять и добавить каждого»!)
Ручка двери
7

APL (8)

+/⎕UCS⍞

Объяснение:

  • +/ сумма
  • ⎕UCS значения Юникода
  • ввод символов
Мэринус
источник
Каков будет результат для Hello World!?
Knerd
@Knerd: 1085. Было бы неправильно, если бы он дал другой вывод. Суммирует значения кодовых точек Unicode символов.
Маринус
хорошо, я не получил, что означает;)
Knerd
1
@knerd: означает чтение строки с клавиатуры
marinus
Знаете ли вы бесплатный переводчик APL?
Knerd
6

Haskell 36

main=interact$show.sum.map fromEnum
gxtaillon
источник
Откуда он читает текст?
Knerd
STDIN. $ printf "Hello World!" | ./charsum
gxtaillon
хорошо, я не смог запустить его на своей машине с Windows, я попробую это сделать на rpi, когда буду дома
Knerd
Когда я выполняю ваш код, я просто получаю строку "Hello World!" в качестве выхода. Это моя ECHO "Hello World! | ghci charsum.hs
командная строка
1
используйте interactи showвместо getContents>>=print:main=interact$show.sum.map fromEnum
Flonk
6

Инструменты Shell + GNU, 29 байт

echo `od -An -tuC`|tr \  +|bc

Принимает ввод от стандартного ввода:

$ printf "%s" 'Hello World!' | ./addchars.sh 
1085
$ 

Собственный счет: 2385


с, 52 байта

c;main(p){while(~(p=getchar()))c+=p;printf("%d",c);}

Скомпилируйте с (выдано несколько предупреждений):

gcc addchars.c -o addchars

Принимает ввод от стандартного ввода:

$ printf "%s" 'Hello World!' | ./addchars 
1085 $ 

Собственный счет: 4354

Цифровая травма
источник
Это отличный ответ. CodeBlocks с компилятором GNU всегда жалуются, если переменные не имеют типа, например, int c, main (int p). Поэтому я думаю, что они должны быть включены в ваш ответ.
bacchusbeale
@bacchusbeale Я добавил примечание о предупреждениях компиляции, но я думаю, что это вообще-то для курса при игре в гольф в с. Пока код компилируется и выполняется так, как ожидается, предупреждения можно игнорировать. См. Codegolf.stackexchange.com/a/2230/11259 и codegolf.stackexchange.com/a/2204/11259 . Конечно, производственный код - это совсем другое дело.
Цифровая травма
@DigitalTrauma все эти пробелы действительно необходимы? Может ли оболочка не игнорировать пробелы и использовать - для пометки новых параметров?
Эшвин Гупта
@AshwinGupta Вы говорите о odкоманде? od -AntuCне делает так же, как od -An -tuC.
Цифровая травма
@DigitalTrauma да, я был. Я имел в виду, ты не мог сделать od-An-tuCилиod -An-tuC
Эшвин Гупта
6

Javascript ( ES6 ) 51

alert([...prompt(x=0)].map(y=>x+=y.charCodeAt())|x)
nderscore
источник
@nderscore Можете ли вы объяснить, что делает ...до prompt? Это новая вещь ES6 или предварительная ES6?
WallyWest
1
@WallyWest Он называется оператором спреда и является частью проекта ES6.
nderscore
@nderscore Так что, если я понимаю синтаксис оператора распространения, вы использовали [...prompt(x=0)]приглашение со значением по умолчанию, равным 0 (которое позже будет использовано в сумме), и применили этот ввод в виде массива символов ... ? Что технически будет так же, как prompt(x=0).split(""), верно?
WallyWest
1
@WallyWest prompt(x=0)означает «установить x в 0, вызвать promptсо значением установки x в 0», то есть 0. Это было бы эквивалентно записи(x=0,prompt(x))
Cyoce
6

gs2 , 1 байт

d

d( 0x64/ sum), конечно, суммирует все байты в стандартном вводе.

Линн
источник
5

Python 3 - 28 байт

print(sum(map(ord,input())))

Пример выполнения:

$ ./sum_string.py <<< 'Hello World!'
1085

Получает входные данные от stdin, maps ordфункция к нему, чтобы получить значение ASCII каждого символа, sums it и prints.

undergroundmonorail
источник
Ниндзя, у меня была точно такая же идея. +1 за это.
Seequ
@TheRare Я тоже, хотя мой был длиннее, потому что я использовал Python 2.7. Я становлюсь ржавым;)
Junıʇǝɥʇuʎs
@ Synthetica Я всегда использую Python 2.7, ответ на который был быprint sum(map(ord,raw_input()))
seequ
1
@TheRare Какой был мой точный ответ;)
Junıʇǝɥʇuʎs
Плохо, но вы можете заставить его работать лучше, перейдя map(ord,input())на input().encode(). Байтовые объекты все еще могут суммироваться, и он остается той же длины.
cjfaure
5

Сборка 8086 (16 бит) - 47 41 байт

Содержимое test.comфайла:

98 01 c3 b4 01 cd 21 3c 0d 75 f5 89 c7 c6 05 24
89 d8 b1 0a 4f 31 d2 f7 f1 80 ca 30 88 15 09 c0
75 f2 89 fa b4 09 cd 21 c3

Фактическая работа выполняется в первых 11 байтах; Мне нужно остальное, чтобы напечатать результат в десятичной записи.

Исходный код (предоставить в качестве входных данных для debug.comассемблера DOS ):

a
; input the string; count the sum
    cbw
    add bx, ax
    mov ah, 1
    int 21
    cmp al, d
    jne 100
; Prepare for output: stuff an end-of-line marker
    mov di, ax
    mov [di], byte 24
    mov ax, bx
    mov cl, a
; 114
; Divide by 10; write digits to buffer
    dec di
    xor dx, dx
    div cx
    or  dl, 30
    mov [di], dl
    or  ax, ax
    jne 114
; Print the string
    mov dx, di
    mov ah, 9
    int 21
    ret

rcx 29
n test.com
w
q

Некоторые примечания по коду:

  • Обрабатывает только одну строку (до конца строки 13 символов); зависает, если нет конца строки
  • Поддерживаются только 7-битные символы (иначе результаты неверны)
  • Выходы 0 для пустого входа
  • Не удается обработать вывод больше чем 64K
  • Инструкция по адресу 0x10d перезаписывает себя (чистое совпадение)
  • Для сборки и запуска этой программы необходимо использовать эмуляторы DOS, такие как DosBox
anatolyg
источник
Как вы можете это понять? oO
Knerd
5

CJam, 3 байта (сумма 260)

q1b

Вы можете попробовать это онлайн .
Спасибо jimmy23013 за помощь отрубить 2 персонажа :)

Объяснение:

q     read the input into a string  
1b    convert from base 1, treating each character as its numeric value
aditsu
источник
1
q1bкороче
jimmy23013
4

Befunge98, 6 байтов, сумма: 445

2j@.~+

Любой переводчик должен быть в порядке. Я использую CCBI .

Используйте следующим образом:

printf 'Hello World!' | ccbi calc.fg

Работает для многобайтовых символов и пустых строк.

объяснение

  • 2j- перепрыгнуть через две следующие инструкции ( @и .- см. ниже)
  • ~ - положить следующий символ в стек
  • +- добавить значение кода нового символа к текущей сумме. Указатель инструкции переносится на начало, и цикл повторяется
  • когда ~встречает EOF, он меняет направление указателя, и выполняются две «скрытые» инструкции:
  • . - напечатать сумму
  • @ - выход
хар-wradim
источник
4

Рубин, 13 12 байт

p~9+gets.sum

sumэто встроенная функция, которая суммирует символы строки. Вычитает 10 для учета новой строки в конце getsвозвращаемого значения.

(Отредактировано 4 года спустя, чтобы изменить x-10на ~9+x... значение ~9is -10, но оно позволяет нам убрать пробел между pи его аргументом, сохраняя байт.)

Дверная ручка
источник
Я совсем не знаком с Ruby, не могли бы вы объяснить свой код, пожалуйста?
Knerd
1
get - это функция, которая читает строку из стандартного, пока не будет прочитана новая строка, она возвращает строку. Строка # сумма добавляет значения каждого символа, который возвращает Fixnum. Fixnum # - это просто вычитание. pэто метод для вывода значения отладки чего-либо в строке.
Кайл Смит
2

PowerShell - 27

[char[]]$args[0]|measure -s

пример

> SumChars.ps1 'Hello World!'

Count    : 12
Average  : 
Sum      : 1085
Maximum  : 
Minimum  : 
Property : 
Rynant
источник
26, если вы используете, [char[]]"$args"|measure -sпока есть только одна запись $ arg.
TessellatingHeckler
2

Юлия - 11 7 символов, результирующая сумма = +943 536

Поскольку вопрос позволяет вводить данные из любого источника, который вы хотите, я выбираю существующую переменную. Предположим, что Aсодержит строку, которую мы хотим оценить.

sum(A)1

Как оказалось, вы можете суммировать строку напрямую, и она будет вычислять ... однако, из-за способа обработки суммирования символов, если в строке будет нечетное количество символов, она выведет символ, а не целое число любого рода. Таким образом, мы заставляем его приводить к int умножением на 1.

Старая версия:

sum(A.data)

Будет выводиться в шестнадцатеричной записи (если сумма меньше 256, то будет 0x??, иначе будет 8 байт 0x????????). Если он используется в коде, где используется результат, он будет работать так же, как и любое другое число (именно так Джулия отображает целые числа без знака).

Чтобы увидеть значение результата в десятичном виде, заключите вышеуказанное в int(), как в int(sum(A.data)).

Для любого, кто не знает Джулию, вы назначаете Aточно так же, как вы делаете другие назначения для переменных. Так A="Hello World!"или A="sum(n.data)". В случае, когда вам нужно ввести "или 'символы, есть несколько опций, самый простой из которых (потому что это устраняет необходимость в знании нюансов строковых литералов Julia) A=readline(), сопровождается простым вводом строки в STDIN (won ' t обрабатывать переводы строк, хотя). Как обычно, escape-последовательность для новой строки \n, но я не верю, что вы можете использовать это с readline ().

Глен О
источник
+1 за чертовски умное решение ^^ Не могли бы вы опубликовать, как назначить тестовое значение переменной n? Я совсем не знаю Юлию;)
Knerd
@Knerd - я отредактировал это. Надеюсь, это поможет.
Глен О
Отлично, спасибо. Я пытаюсь проверить это позже :)
Knerd
Незначительное изменение - переменная переключена с nна, Aчтобы уменьшить результирующую сумму с 988 до 943.
Глен О
ОК, гораздо большее изменение - я понял, что вы можете суммировать строку напрямую, а не извлекать символы с помощью .data; но поскольку они являются символами, они дают символьный результат для нечетного числа символов. Умножение на 1 исправляет это.
Глен О
2

K5, 2 байта (функция), 5 байтов (программа)

функция

+/

программа

+/0:`

Не уверен, был ли K5 создан до или после публикации этого задания. Независимо от ... ЭТО УДИВИТЕЛЬНО !!

В K5, если вы выполняете арифметические операции со строками, он преобразует символы в их ASCII-коды. Так что это просто использует оператор суммы +/(на самом деле, это плюс + более).

kirbyfan64sos
источник
2

Matlab / Octave 4 байта (бонус: 405)

Этот код является анонимной функцией, которая выполняет свою работу, принимает строку и возвращает требуемое число.

@sum
flawr
источник
Я не уверен в gs2ответе, но, по крайней мере, с тем же подходом, что и в ответе Юлии, я все равно должен написать sum(A). Я думаю, что sumодин не в порядке (даже не будет действительным кодом =).
flawr
2

Go (59 символов)

func d(s string)(t int){for _,x:=range s{t+=int(x)};return}

Все в Go по умолчанию является utf8. Кодовый текст в `delimeters, проходящем через себя, дает вывод: 5399.

voutasaurus
источник
Я должен сказать, что я довольно удивлен, что нет никакого math.Sumиспользования mapили подобного
кошка
2

Gol> <> , 4 байта (не конкурирующие)

Примечание: этот язык новее, чем вызов.

iEh+
randomra
источник
Это произносится как «Golfish?»
кот
@ Cat Да, это гольф.
рандома
@randomra это что "gol • fish" или "golf • ish"? Как в рыбе с голом, или что-то вроде гольфа?
Cyoce
2

Javascript ES6, 41 байт

_=>[..._].map(y=>x+=y.charCodeAt(),x=0)|x

Спасибо @ETHproductions за 2 байта сэкономлено!

Mama Fun Roll
источник
1
Как насчет _=>[..._].map(y=>x+=y.charCodeAt(),x=0)|x?
ETHпродукция
2

Python, 24 байта

Это короче, чем любое решение на Python: анонимная функция без имени, которая принимает строку в качестве аргумента и возвращает сумму.

lambda x:sum(x.encode())

Попробуйте онлайн!

Во-первых, x.encode()превращает его в bytesобъект. Затем sumдобавляет значения кодов символов. Поскольку это лямбда-функция, возвращается значение implicity.

Кроме того, можно было lambda x:sum(map(ord,x)) тот же счетчик байтов.

FlipTack
источник
2

SML, 42 36

Просто добавив другой язык.

fun$x=foldl op+0(map ord(explode x))

Преобразует строку в массив символов, вычисляет число ASCII для каждого значения и вычисляет сумму всех чисел ASCII.

someonr
источник
1
Вы можете оставить некоторые пробелы и ведущие ;. 36 байт: tio.run/##DcpBCoAgEAXQq0zRQomiC7ivdYuWEWgRfB2xKby9uXzwHo/…
Лайкони
1

С 32

f(char*s){return*s?*s+f(s+1):0;}
Бебе
источник
main(int argc,char **argv){return(argc?main(0,&(argv[1])):(**argv?**argv+main(0,argv)+((*argv)++?0:0):0));}(107 символов), хотя он игнорирует первый символ по какой-то причине. Кроме того, коды выхода POSIX только 8 бит; в баш echo $?.
правила были немного широки, поэтому я не использовал основной. я буду работать над чем-то более коротким, может быть
bebe
@bebe Я немного изменил правила, чтобы прояснить, что нужно;)
Knerd
1

D (функция: 60)

Определенно не в этом, чтобы победить.

Предполагая, что это не должна быть полная программа

int c(string i){int s;foreach(e;i){s+=cast(int)e;}return s;}

Называется так

void main ()
{
    import std.stdio;
    auto hw = "Hello World!";
    writefln("%s = %d", hw, c(hw));
}

Выход:

Hello World! = 1085

D (программа: 133)

Не считает разрывы строк.

void main(){import std.algorithm,std.stdio;stdin.byLine.map!((a){int s;foreach(e;a){s+=cast(int)e;}return s;}).reduce!"a+b".writeln;}

С большим количеством пробелов и более длинными именами переменных для удобства чтения

void main () {
    import std.algorithm, std.stdio;

    stdin.byLine
        .map!((line) {
                int sum;
                foreach (ch; line) {
                    sum += cast(int)ch;
                }
                return sum;
            })
        .reduce!"a+b"
        .writeln;
}

Чтобы поддерживать разрывы строк во вводе, я мог бы либо использовать byLine(KeepTerminator.yes)- правильный путь для 20 символов - или добавить '\n'к моей строке - который разбивает однострочный ввод и может дать неправильную сумму в Windows из-за CRLF для 18 символов.

Уго Дубе
источник
+1 за публикацию, даже если вы знаете, что не выиграете
Knerd
1

JavaScript (ES6) 54 58

alert([].reduce.call(prompt(),(v,c)=>v+c.charCodeAt(0),0))

54 байта благодаря nderscore :

alert([...prompt()].reduce((v,c)=>v+c.charCodeAt(),0))
core1024
источник
Работает хорошо, я уже попробовал это в es6fiddle.net
Knerd
Вы можете просто использовать Firefox;)
core1024
1
Я был на работе так: D
Knerd
1
54:alert([...prompt()].reduce((v,c)=>v+c.charCodeAt(),0))
nderscore
1
Получил до 51 сейчас :)alert([...prompt(x=0)].map(y=>x+=y.charCodeAt())|x)
nderscore
1

Дельфы ( 87 83)

function x(s:string):int64;var c:char;begin x:=0;for c in s do x:=result+ord(c)end;

Ungolfed

function x(s:string):int64;
var
  c:char;
begin
  x:=0;
  for c in s do
    x:=result+ord(c)
end;

Циклы путем Sдобавления ordзначения char к результату. где х == результат

Редактирование:

Спасли 4 символа, переключившись на int64 и изменив добавление к сумме.

Теун Пронк
источник
У вас есть бесплатная версия Delphi (укажите версию)?
Кнерд
Хм .. Не очень жаль. Но я могу объяснить, что происходит без игры в гольф, и сделать несколько тестов, если хотите. Бесплатный Паскаль имеет более или менее тот же синтаксис, чтобы вы могли это сделать.
Теун Пронк
Хорошо, я проверю это.
Knerd
1

к (8 символов)

+/6h$0:0

Перевод Q

sum `int$read0 0

Бонусное значение:

k)+/6h$0:0
+/6h$0:0
438i
skeevey
источник
1

J (7)

Так близко, но пока так ... О, хорошо, я думаю, 7 достаточно прилично, так как этот ответ также принимает пустые строки. (Я использую переменную в качестве входных данных для фразы from a file, stdin or whatever)

+/a.i.b

Объяснение:

a.

┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������

a. содержит все символы ASCII.

   'people' i. 'pow'
0 2 6

x i. yпохож на питона [x.index(i) for i in y].

   a. i. 'Hello World!'
72 101 108 108 111 32 87 111 114 108 100 33

Для этого a. i. yпреобразует yв массив значений ASCII

   +/1 2 3 4 5 6
21

+/это как sum: +/1 2 3 4 5 6означает1+2+3+4+5+6

   +/ a. i. 'Hello World!'
1085

Все это в действии

Для бонуса:

   b=:'+/a.i.b'
   +/a.i.b
482

Не плохо, наверное.

   b=:'0\{+}/'
   +/a.i.b
478

Ну, черт возьми.

   A=:'+/a.i.A'
   +/a.i.A
449

Спасибо @algorithmshark

    A=:'+/3 u:A'
    +/3 u:A
413

Спасибо @marinus

ɐɔıʇǝɥʇuʎs
источник
+1 за отличное объяснение. Один маленький вопрос, где я могу лучше всего выполнить J?
Knerd
1
@Knerd От создателей ( jsoftware.com ) Я не знаю онлайн-переводчиков. (Интересный факт: у них есть официальная консоль для Android.) Jsoftware.com/download/j801
Junıʇǝɥʇuʎs
@Synthectica Это круто: D Теперь мне нужен смартфон на Android: P
Knerd
Переименование bк Aрезультатам со счетом 449.
algorithmshark
@algorithmshark О, верно! Я буду претендовать на эту звезду сейчас;)
Junıʇǝɥʇu 16:s
1

R, 35 символов (сумма 3086) 26 байтов (сумма 2305)

sum(utf8ToInt(readline()))

readline() на один символ длиннее scan(,"") но scanпо умолчанию разделяет ввод на пробелы.

Использование:

> sum(utf8ToInt(readline()))
Hello World!
[1] 1085
> sum(utf8ToInt(readline()))
sum(utf8ToInt(readline()))
[1] 2305
> sum(utf8ToInt(readline()))
q/%8hnp>T%y?'wNb\},9krW &D9']K$n;l.3O+tE*$*._B^s!@k\&Cl:EO1zo8sVxEvBxCock_I+2o6 yeX*0Xq:tS^f)!!7=!tk9K<6#/E`ks(D'$z$\6Ac+MT&[s[]_Y(`<g%"w%cW'`c&q)D$0#C$QGf>?A$iawvc,}`9!('`c&q)D$0#C$QGf>?A$iawvc,}`9!(
[1] 14835
plannapus
источник
1

Japt , 6 байт (не конкурирует)

Этот ответ не является конкурирующим, поскольку Japt был создан после публикации этого запроса.

U¬mc x

Довольно просто Попробуйте онлайн!

Как это устроено

U¬mc x  // Implicit: U = input string
U¬      // Split U into chars.
  mc    // Map each item to its char code.
     x  // Sum.
        // Implicit: output last expression
ETHproductions
источник
Из любопытства, почему ты не назначил ¬какое-то отрицание?
Конор О'Брайен
@ CᴏɴᴏʀO'Bʀɪᴇɴ Потому что я спешил и просто назначил их, как я видел необходимость, не планируя заранее. У меня есть набор, который имеет больше смысла, готовый к развертыванию, путем изменения одной строки кода, но я опасаюсь этого, потому что он лишит законной силы почти каждый существующий ответ.
ETHproductions
Это легко исправить. Добавьте условное в заголовок (например, url/interpreter.html#new=1); все, что без него, использует старый набор символов, а все, что с ним, использует новый набор символов.
Конор О'Брайен
@ CᴏɴᴏʀO'Bʀɪᴇɴ Спасибо, я подумаю над этим.
ETHproductions
1

PlatyPar , 2 байта (не конкурирует)

us

Попробуйте онлайн !

uгенерирует массив всех значений charcode во входной строке и sнаходит их сумму.

При запуске на себя возвращается 232.

Это похоже на ответ Джона Конора , за исключением того, что я использую байт для преобразования строки в массив кодов символов (который неявно присутствует в Jolf), тогда как он использует байт для получения ввода (что неявно в PlatyPar).

Cyoce
источник