Двач.hk прислал битые данные.
Вы видите копию треда, сохраненную 11 августа 2016 года.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
66 Кб, 275x379
Code Golf #784954 В конец треда | Веб
Правила просты:
1. ЯП - любой
2. Победившей считается самая короткая программа

Дано: num - целое десятичное число
Найти: num + количество знаков+сумма цифр

Например:
Input: 99
Output: 99+2+(9+9)=119

Если число отрицательное:
Input: -123
Output: -123+4+(-1+2+3)=-115
sage #2 #784964
#3 #784974
>>784954 (OP)
Написал на лучшем из языков.
https://jsfiddle.net/mg5mzt6j/
>>785005>>785322
10 Кб, 175x320
#4 #784982
Пидон
x=-123
print x+len(str(x))+sum([z=='-' and int(str(x)[1])(-1)2 or int(z) for z in str(x)])

-115
>>784983>>785076
0 Кб, 59x90
#5 #784983
>>784982
PS
там перед двойкой и перед (-1) звёздочки должны быть, но их сожрала макаба.
#6 #785005
>>784974
https://jsfiddle.net/q26tvtbf/
У тебя как-то все сложно, бротиш))))
>>785023
#7 #785023
>>785005
Да. Вот чуть полегче.
https://jsfiddle.net/q26tvtbf/1/
#8 #785049
>>784954 (OP)
C++.
[](int x){int y=x>0?x:x+1,t=0;for(;x;x/=10){y+=abs(t=x%10)+1;}return t<0?y+2*t:y;}
82 символа. Кто меньше?
>>785096
#9 #785066
бля, да понятно что руби всем на ротешник в этом даст, но это не значит что как яп она стоящая
>>785119
#10 #785076
>>784982
У тебя неправильный питон, ты новичёк, да?

from . import sum_and_fig
return sum_and_fig(99)
#11 #785096
>>784954 (OP)
>>785049

Жабаскрипт вырывается вперед.
n=prompt();alert(eval(n+'+'+n.length+'+'+n.split('').join('+')));

https://jsfiddle.net/n4szwxzj/

65 символов!
#13 #785116
>>785105
На минусе падает
#14 #785119
>>785066

>да понятно что руби всем на ротешник в этом даст


Докажи.
#15 #785131
>>785096
>>785105
Интересно, невнимание к деталям это причина или следствие скриптоблядства?
>>785266
#16 #785171
Питон
OP = lambda num: num + len(str(num)) + sum(map(int, list(str(abs(num))[1:]))) + (int(num>=0)-int(num<0))*int(str(abs(num))[0])

>>> OP(99)


119

>>> OP(-123)


-115
>>785195
#17 #785174
>>784954 (OP)

>-123+4+(-1+2+3)=-115


Лолшто? Ебнутый? ебнутый.
#18 #785195
>>785171
переписал
OP = (num)-> num + len..str(num) + sum..map(int, str..abs(num)[1:]) + (int(num>=0)-int(num<0))*int(str..abs(num)[0])
>>785196
#19 #785196
>>785195
кто угадает язык кстати?
>>785239>>798194
#20 #785235
Попробовал написать на прологе: http://swish.swi-prolog.org/p/txpWdeQV.pl
#21 #785239
>>785196
Свивт какой-нибудь?
>>785301
#22 #785266
>>785131
К каким деталям?
>>785317
#23 #785294
>>785096
Чуть сократил.
https://jsfiddle.net/n4szwxzj/1/

58
>>786280
#24 #785301
>>785239
Далековато
Подсказки по синтаксису
f..g..h(args) == f(g(h(args)))
(lambda x: x+2) == ((x)-> x+2)
>>785311
#25 #785311
>>785301
haskell
>>785330
#26 #785317
>>785266
К различной работе для n<-9,n>=0 и остальных.
#27 #785322
>>784974
Я вбил 1, мне выдало 3
>>785323
#28 #785323
>>785322
Ну так ведь и должно быть. А на -1 должно выдавать 0.
#29 #785330
>>785311
Язык компилируется (в другой известный яп), но при этом динамический.
>>785332
#30 #785332
>>785387
#31 #785333
>>785370
#32 #785366
Вкатился на дишке
https://ideone.com/DR5xdC
#33 #785369
>>784954 (OP)

> Победившей считается самая короткая программа


Ясен хуй, победят языки с eval и без явного приведения типов.
>>785380
#34 #785370
>>785333
У тебя неправильный output
Надо писать не "-115" а "-123+4+(-1+2+3)=-115 "
#35 #785380
>>785369
Между тем, пока из корректных решений самое короткое на крестах.
>>785383>>785404
#36 #785383
>>785380
Нет.
#37 #785387
>>785332
Неа
>>785398
#38 #785398
>>785387
Я сдаюсь
>>785402
#39 #785402
>>785398
coconut-lang.org
47 Кб, 1146x438
#40 #785404
>>785380
Нихуя. Оно точно так же выводит результат, а не требуемую строку. (не говоря о том, что это не рабочая программа, эту строчку нельзя скомпилить - куча кода опущена)
Вот к примеру что выведет мое дишечное:
>>785410>>785411
#41 #785410
>>785404
Да тут походу только у тебя полный пример выводит
54 Кб, 1227x438
#42 #785411
>>785404
Даже так (чтобы были оба примера из ОП-поста).
Так что наверное пока что мое решение - единственное, которое реально выводит строку в соответствии с требованием.
#43 #785415
>>785411
Вообще D был бы хорошим языком (для меня), если бы не auto. Это самый уебищный кейворд для вывода типа
>>785416
#44 #785416
>>785415
Ну - можешь его не использовать и тип писать, лол.
(но для всяких Ranges будет тяжко, лол)

Чем плох авто? На одну букву длиннее, чем var или let?
>>785417
#45 #785417
>>785416
Просто var, val и let нравятся больше. Вкусовщина короче, хотя остальная часть языка неплоха
#46 #785420
>>785411
Протест. В первой половине условия сказано: "...найти <выражение>", а не "...вывести <выражение>", без жестких требований на формат ввода-вывода. Вторая половина условия неоднозначна, т.к. не обозначена граница между разметкой поста и телом вывода (выводить "99+2...", " 99+2..." или "Output: 99+2...". Поэтому логично ее считать пояснением, а не частью спецификации.
>>785425
#47 #785425
>>785420
Не мели ерунду. Там явно написано "инпут" и "оутпут".
Ты что, никогда на коколимпиадках по погромированию не был?
Вот, то что после "оутпут" - то и должно оказаться на экране, дословно.
>>785431
#48 #785431
>>785425
Тогда у тебя пробел в начале строки пропущен, он тоже после Output:
#49 #785443
>>785411
Ээм, я, конечно, некомпетентен в области D, но мне казалось, что mixins это такой compile-time eval, но тут он над пользовательским вводом потенциально работает. Как это возможно в компилируемом языке?
>>785445>>785463
#50 #785445
>>785443
Нет там пользовательского ввода, число - константа времени компиляции
>>785457
#51 #785457
>>785445
То есть, если ты в последних строчках заменишь константы на ввод, оно перестанет компилиться, пробросив проверку аж сквозь границу функции?
>>785464
#52 #785463
>>785443
Да, так и есть, там функция - времени компиляции. Я укоротил эту хренотень, и с вводом в рантайме работать оно не будет (впрочем, такого условия не было - откуда берется ввод не указано).
#53 #785464
>>785457
Там функция - она шаблонная. Т.е. то что fun!(-127) - это не то же, что fun(-127), это как в крестах fun<-127>.
Короче - шаблончики.
#54 #785466
питон3, 49 символов
a=input();print(int(a)+len(a)+sum(map(int,a[:])))
>>785467
#55 #785467
>>785466
ай, чёт тупанул, 46 вот так
a=input();print(int(a)+len(a)+sum(map(int,a)))
>>785469
#56 #785469
>>785467
1) с отрицательными числами не работает
2) не выводит строку, а только результат
>>786088
#57 #785543
>>784954 (OP)
#include <stdio.h>

int main(int argc, char *argv[]) {
char input[256];
fgets(input, sizeof(input), stdin);
if (strcmp(input, "99") == 0) {
printf(119);
return 0;
}
printf("Not a valid input!");
return 1;
}
#58 #785554
>>784954 (OP)
Решение на арийском языке:
num + num.to_s.size + num.to_s.chars.map(&:to_i).reduce(&:+)
>>785555
#59 #785555
>>785554
Говно
1) не выводит требуемую строку
2) на отрицательных числах и вовсе не работает
>>785557>>786088
13 Кб, 719x128
#60 #785557
>>785555
1) не выводит требуемую строку
У ОПа output 2-го примера не соответствует условию задачи:
num + количество знаков + сумма цифр
Для числа -123 сумма цифр равна (1+2+3), а не (-1+2+3)
2) На отрицательных всё работает. Потому что "-".to_i => 0
>>785559
#61 #785559
>>785557
Ты доебался до слова "цифр", но правильно именно как в примере.
Так что с отрицательными оно не работает, и точка. Второй пример специально за тем и показан, чтобы подчеркнуть как поступать с ними.
>>785574
#62 #785574
>>785559
Ок, специально для ОПа, не умеющего правильно формулировать условия:
num + num.to_s.size + num.to_s.chars.slice_after(/\d/).map(&:join).map(&:to_i).reduce(&:+)
=> -115
>>785578
#63 #785578
>>785574
Гут, остается пункт 1 - оно выводит только число, а не строку-выражение целиком.
#64 #785594
Clojure
Нечитаемо - http://ideone.com/kYaDCA
Читаемо - http://ideone.com/6YLp3a
И там и там есть версия с выводом полного выражения и просто результата
#65 #785623
n=-123;print a=n,'+',b=n.to_s.length,'+(';c=n.to_s; d='';k=0
(print c[0..1],'+';k=-c[1].to_i;c.slice!(0..1))if n<0
e=c.chars.map{|i| d+=i+'+'; i.to_i}.reduce(&:+);print d.chop,')',"=#{n+b+k+e}"
#66 #785752
Оп, давай еще задачку.
>>785762
#67 #785762
>>785752
Лол, тут эту-то практически никто не решил
>>785912
#68 #785912
>>785762
Я решил и еще несколько человек. Чего тебе еще надо-то?
>>785916
#69 #785916
>>785912
Так чтоб выводило полную строку?

Ну сам придумай себе/нам задачу
#70 #786088
>>785469
>>785555

>не выводит строку, а только результат


>Дано: num - целое десятичное число


>Найти: num + количество знаков+сумма цифр


Иди нахуй, научись задачу формулировать
>>786094
#71 #786094
>>786088
1) я не ОП
2) сам иди нахуй, пиздоглазое мудило - есть пример вывода, и пример решает все.
>>786125
#72 #786125
>>786094
1) Хоть ты не ОП, но хуй
2) Пример показывает как считать, а не как выводить
>>786366
RUBY #74 #786356
Отступы, переносы строк не убираю, ибо это уже дрочево.

С чтением строк в цикле - 154 символа:
http://ideone.com/y00YzV

С чтением единственного значения - 144 символа:
http://ideone.com/4B83TU

Программы совершенно читабельные. RuboCop, статический анализатор кода Руби, ругается только на присвоении в условии цикла. Я бы ещё заменил инфиксный оператор на if then else end, если бы мы тут за каждый символ не сражались.
>>791815
#75 #786366
>>786125

> а не как выводить


Иди на хуй. Он показывает как выводить - поэтому там написано "оутпут", блять.
Не "экзампл" блять, а "оутпут". Ты, пиздоглазина, ингриш знаешь?
>>786370
#76 #786370
>>786366
Забей на него. У него программа больше моей и совершенно нечитабельная мешанина из символов.
#77 #786510
>>784954 (OP)
http://pastebin.com/kQY2g2T9

> символов: 364


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

в посте не оговаривается диапазон вводных чисел.
#78 #786512
>>786510
но да, с вайтспейсами все 400. дохуище конечно.
#79 #786656
http://pastebin.com/txbzi3fM
Перл-господин пихает всем в ротешник.
>>786657>>786661
#80 #786657
>>786656
Твои потуги, однако, воняют.
>>786660
#81 #786660
>>786657
объясни
>>786666
#82 #786661
>>786656
вывод как в оп посте или тоже допочтец? я тож с начало думал так
>>786663
#83 #786663
>>786661
конечно, проверяй, питушок

http://goo.gl/YLaq5B
#84 #786666
>>786660
Сейчас понюхай нашатырного спирта, протри глаза, умойся и посмотри на ЭТО ещё раз.
>>786669
#85 #786669
>>786666
-123 = -115
99 = 119 и ?
>>786671
#86 #786671
>>786669
99+2+(9+9)=119
-123+4+(-1+2+3)=-115
>>786674
#87 #786674
>>786671
ты глупенький?
#88 #786677
ААААА!!! ННАЧАЛЬНИК БЛЯТЬ!! ЭТОТ ПЕРЛОДАУН ОБОСРАЛСЯ!!! ИДИ МОЙ ЕГО!!
#89 #786680
где мой приз, неасиляторы?
69 Кб, 642x1083
#90 #786705
Как же я проигрываю, хоспаде. Вот серьезно, только на зекаче можно такое видеть, чтобы десяток борщехлебов с пеной у рта устроил свару над трактовкой хэллоуворда, запощенного давно съебавшим мимокрокодилом.
>>791821
sage #91 #786741
>>784954 (OP)

> сумма цифр


> -123+4+(-1+2+3)=-115


> -1


Нахуй пошел с такими условиями.
#92 #786769
>>784954 (OP)
Common Lisp, 173 символа на решение + 93 на вывод полного выражения.
http://ideone.com/8Vh03C
>>786773>>786801
#93 #786773
>>786769
http://paste.lisp.org/display/319750
И вдогонку для тех, у кого от расцветки ideone глаза вытекают
#94 #786801
>>786769
а еще длиннее на лиспе можно написать?
>>786803
#95 #786803
>>786801
Если постараться, то можно. Но зачем?
#96 #786805
и вообще с подсчетом ебола, предлагаю считать только операторы языка без скобок переменывх точек с запятой и прочей хуйни
Перл-господин
#97 #791772
>>791762

>победил


>Output: 99+2+(9+9)=119


>Standard output is empty

#98 #791815
Итак, победил руби, насколько я понимаю? >>786356
Пока остальные дрочат на символы, программа на руби лишь чуть длинее самых коротких программ треда, но зато самая читабельная среди всех.
>>791817
#99 #791817
>>791815
Руби выводит неправильный оутпут.

Корректный вариант выводит только >>785411 походу
>>791820>>792029
42 Кб, 1366x768
#100 #791820
>>791817
Блять, там дан пример подсчёта, чтобы народ разобрался. Это же очевидно.
>>791821>>791824
#101 #791821
>>791820
Пикча сюда относилась:

>>786705

>десяток борщехлебов

#102 #791824
>>791820

>Это же очевидно.


Нихуя. Там написано output - вот это очевидно.
Прога - черный ящик, input - то что ты ввел, output - то что увидел на выводе.

Не маневрируй короче, ни разу не видел как на коколимпиадках примеры ввода и вывода озвучивают? И там блять все строго - эту хуйню будет проверять прога автоматом, выводит не по формату - всем похуй даже если она работает правильно, она идет нахуй.
>>791835>>791836
RUBY #103 #791835
>>791824

>ни разу не видел как на коколимпиадках примеры ввода и вывода озвучивают?


Я пять лет эти олимпиады задрачивал.

>И там блять все строго - эту хуйню будет проверять прога автоматом, выводит не по формату - всем похуй даже если она работает правильно, она идет нахуй.


Вот только тут нет никакой проги.

Ладно, поскольку ОП не уточнил, то это можно и так трактовать. Вот прога:
http://ideone.com/GMSk0h
206 символов
>>791844
sage #104 #791836
>>791824

>выводит не по формату


И зачем нужен такой формализмъ на спецолимпиадке уровня зк, где проверяют все на глазок?
Антифан и уг.

@vote ban op-hui
RUBY #105 #791844
>>791835
164 символа, если имена переменных сделать однобуквенными
http://ideone.com/8iquDQ
#106 #791895
>>784954 (OP)
[code]
Console.WriteLine(Convert.ToInt32(value) + value.Select(s => s == '-' ? s - '0' + 2 : s - '0' + 1).ToArray<int>().Sum());
[/code]
#107 #791904
>>791895

>s - '0' + 2


>s - '0' + 1


Это, блять, что? Слабая типизация? Что за язык? Как это говно ещё живо в 2016?
>>791912>>791919
#108 #791912
>>791904
Написал первое, что пришло в голову. Такая - то хитрая лямбда с тернарным оператором. А как иначе можно реализовать на C#? Я быдлостудент второкурсник, есличо.
>>791913
#109 #791913
>>791912
Ты мне объясни, как ты к строке (или символу) прибавляешь число?
>>791915>>791917
#110 #791915
>>791913
Ну, у символа '0' код 48, у '1' 49 и т.д., из строки берется символ, вычитается 48, остается целое число от 0 до 9, потом сверху накидывается ещё единица за саму цифру, как сказано в задании.
>>791925
#111 #791917
>>791913
Наркоман? Это не строка. А символы и есть целые числа.
>>791925
#112 #791919
>>791904

> Как это говно ещё живо в 2016?


Это ты еще JavaScript не видел. Вот там да, можно складывать числа со строками. И в 2016 на него переходят с языков со строгой типизацией.
>>791925
#113 #791925
>>791917

>Это не строка. А символы и есть целые числа.


Об этом и был вопрос. Не знал, что в C# слабая типизация.
>>791919
Да я давно недоумеваю, почему бы им не ввести 'use strong' (по аналогии с 'use strict'), чтобы включать сильную типизацию.
>>791915

>Ну, у символа '0' код 48, у '1' 49 и т.д., из строки берется символ, вычитается 48, остается целое число от 0 до 9, потом сверху накидывается ещё единица за саму цифру, как сказано в задании.


А вот это интересно, вроде в треде ещё не было решений, которые используют коды символов. Ты бы оформил этот код в ideone.com А так молодец, что додумался. Извини, что наехал, просто у меня аллергия на слабую типизацию.
>>791999>>792018
#114 #791933
>>791895
Лол, маленького крестоблядка видно из далека. Додиез только испортит такой талантище.
#115 #791999
>>791925
C# это потомок Си. По традиции в Си и производных от него языках символы являются числами.
#116 #792005
Тащемта, автоматическое приведение типов к большему не является нарушением строгости типизации, потому что даже если где-то приведётся не так, тапчекер пошлёт тебя нахуй. Туда же идёт строка + что_угодно = строка (точнее, строка + что_угодно = строка + что_угодно.тоСтринг() = строка). Сделано так ради удобства.
#117 #792018
>>791925
Потому что она там строгая, васянтий.
Просто сохранили возможность складывать буквы с цифрами.
#118 #792029
>>791817

>Корректный вариант выводит только


и у меня >>786510
>>792030
#119 #792030
>>792029
>>791895
Вам лень на какой-нибудь ideone код запостить, чтобы сразу результат было видно вашей обфусцированной дрисни?
>>792032
#120 #792032
>>792030
там видимо наёбывают, у меня гцц компилит и всё работает, там - нет. может у них 64 батка - я не парился за переносимость. а какие ещё сервисы есть?
#121 #793711
Я пропустил, J уже был?
>>793728
#122 #793728
>>793711
Мне лень решать олимпиадку, где ОП даже условие сформулировать нормально не может.
#123 #794842
lambda z: z +len(str(z))+sum(int(x) for x in str(z)) if z>0 else z+len(str(z))+sum(int(x) for x in str(z)[2:])+int(str(z)[:2])
#124 #794894
Хуйня этот ваш раби
http://ideone.com/4uG0D4
[code lang=tcl]
set expr [join [regexp -all -inline {(?:^-)?\d} $n] +]
set expr [join [list $n [string length $n] ($expr)] +]
puts $expr=[expr $expr]
[/code]
>>798291
#125 #794918
>>784954 (OP)

>99+2+(9+9)


это дерьмо обязательно выводить на экарн или достаточно результата?
>>795532
#126 #795532
>>794918
ОП-хуй не уточнил. Но все, судя по треду, решили, что обязаельно.
#127 #795585
>>795534
Просто на твоем любимом яп это получается слишком многословно.
RUBY #128 #795626
Это, а что за читеры с eval и регекспами пишут? Ну ок.

http://ideone.com/LOVdUN
89 символов
#130 #795689
>>795941
RUBY #131 #795941
>>795689
Схуяли не работает? По-твоему -1-2-3+6+(-1+-2+-3) не равно шести?
#132 #796234
В записи числа -6 по-твоему 6 символов?
>>796327
RUBY #133 #796327
>>796234
Не еби мозги. Ты прекрасно понял, почему 6, а не 2. В условии сказано, что на вход подаётся число, а не выражение.
11 Кб, 443x328
#134 #796329
175, java
>>796331
#135 #796331
>>796329
Пиздишь
>>796334>>796353
#136 #796334
>>796331
Имя метода и класса не считал конечно
>>796336
#137 #796336
>>796334
Всё равно маловато для явы
#138 #796353
>>796331
Да, напиздел, сорян, вывел сумму вместо всего выражения
#139 #796442
>>786510
Не указал #include. Для -123 результат неверный.

http://pastebin.com/44C2c8HS
>>797321
20 Кб, 337x210
#140 #797321
>>796442

> Не указал #include


компилятор компилирует - значит не надо. в условиях не было "сделать по стандарту". к тому же там только puts требуется - это даже не комбайн printf, а чистый вывод строки.

и выдаёт всё правильно.
>>797423>>798291
#141 #797330
int res = num;
if (num < 0) {++res; num*=-1;}
while(num) {res+=num % 10 + 1; res /= 10;}

И всё. Никаких, суки вы криворукие, функций которые, блядь, тянут стандартную библиотеку, 8 фрейворков, 3 парсера регекспов, дотнет и десятую винду. Охуели совсем.
>>797331>>797370
#142 #797331
>>797330
промахнулся? заебал уже бугуртить тут, ещё за крыса залечи
>>797332
#143 #797332
>>797331

>ещё за крыса залечи


Кто такой? Чем знаменит?
#144 #797370
>>797330
И как всегда байтослесарь пришел поучать других уму-разуму, при этом сам даже не сумев разобраться с заданием.
Браво, что тут ещё сказать. Теперь модешь с чистой совестью накатить свои пролетарские 100г и отправиться двигать байтики дальше.
#145 #797418
Дан файл. Нужно скопировать в новый файл содержимое, от FFD8FFE0 включительно, до FFD93A включая FFD9. Новый файл обозвать как старый, но с расширением jpg.

На каком языке это проще всего сделать?
#146 #797423
>>797321

>и выдаёт всё правильно.


Минус в записи тоже считается (см. ОП-пост).
>>797620
#147 #797587
>>797482
Спасибо, получилось.

import sys

a=b'\xff\xd8\xff\xe0'
b=b'\xff\xd9\x3a'
c=b'\xff\xd9\x00'
f=open(sys.argv[1], 'rb')
ff=f.read()
i=ff.find(a)
j=ff.find(b)
if (j<0): j=ff.find(c)
print(i, j)
o=open(f.name+'.jpg', 'wb')
o.write(ff[i:j+2])
f.close()
o.close()
#148 #797620
>>797423
а ну да, точно. но я уже не будут переделывать - это не изменит число символов в коде.
#149 #797676
>>784954 (OP)
http://ideone.com/KxAijz

161 символ, канонический вывод
>>797822>>798291
#150 #797740
>>784954 (OP)

haskell
http://ideone.com/aOUZ3f

346 символов
16 Кб, 560x77
#151 #797801
Каноничный вывод и получение значения с stdin: https://ideone.com/dgEMLQ
Но в виде нечитабельной дрисни на 102 символа.
>>798291
16 Кб, 560x71
15 Кб, 560x71
#152 #797822
>>797676
Не знаю, чем ты там считал, но православный wc говорит, что у тебя 120 символов (пик 1). Для проверки, в решении >>795626-рубиста он насчитал 90 (пик 2).
80 Кб, 1280x720
#153 #797866

> Победившей считается самая короткая программа


(++/(+/&(/@:(2&{.),2&}.)@:((%|),10#.inv|))+#@:(0&":)) _123
_115
(++/(+/&(
/@:(2&{.),2&}.)@:((%|),10#.inv|))+#@:(0&":)) 99
119
#'(++/(+/&(*/@:(2&{.),2&}.)@:((%|),10#.inv|))+#@:(0&":))'
54
>>797871
9 Кб, 507x36
#154 #797868
Вот со звездочкой
>>797869
#155 #797869
>>797868
Ссылка на ideone будет?
>>797872
#156 #797871
>>797866
У тебя неполный вывод. Написано же в ОП-посте: > Output: -123+4+(-1+2+3)=-115
>>797955
#157 #797872
>>797869
Нет, ведь там отсутствуют нормальные языки программирования.
#158 #797955
>>797871
Ах так, да? Ну ничего, выходные еще не закончились завтра-то я вас всех затроллирую.
#159 #797978
Тред не читал. Функциональщики тут были?
#161 #798144
>>798110
сделал читабельней http://pastebin.com/9ikED0F2
>>798168
#162 #798168
>>798144
Сделай еще длиннее.
>>798171
#163 #798171
>>798168
да я как бы не соревновнуюсь) хз зачем запостил тащемта)
#164 #798189
a=:":@:#@:":
b=:((_1&}.@:":@:%|),(,'+'&,)/&":&|)
c=: ,&')'@:((":,'+'&,&a),'+('&,&b)
sol=: (c,'='&,&":&".&c)
sol _123
_123+4+(_1+2+3)=_115
sol 99
99+2+(9+9)=119

Сейчас еще начнутся доебывания к подчеркиванию, ну и еще конечно очень большая программа получилась, нужно уменьшать.
>>798208
#165 #798194
>>785196
У меня компилятор dg ошибку выдает.
#166 #798208
>>798189
Анон, ну нет никаких оснований тебе верить. Неужели ни одного онлайн-интерпретатора нет?
>>798211
SAGE #167 #798211
>>798208
Скачай отсюда транслятор http://www.jsoftware.com и проверяй на здоровье. Там сейчас версии есть для всех ос.
#168 #798216
n = gets.strip
s = "#{n}+#{n.size}+(#{n.scan(/\D*\d/).join('+')})"
"#{s}=#{eval(s)}"
#169 #798291
Итого, корректных (с input/output, которые полностью соответствуют условиям) коротких решений не так уж и много:
>>797801
>>797676
>>797321 (проблемы с минусом)
>>795626 (самое короткое решение)
>>794894
>>785411 (все, что выше этого анон, вроде бы, выводили только -115/99, либо для решения было задействовано много символов, лень скроллить)
>>798292>>798321
#170 #798292
>>798291

>что выше этого анон,


*анона
#171 #798321
>>798346>>798352
113 Кб, 1280x720
#172 #798344
sol=: 3 : 0
s=:(_1}.":(%|)y),(,'+'&,)/":|y
e=:(([,'+',&":#)":y),'+(',s,')'
e,'=',":".e
)

sol 99
99+2+(9+9)=119
sol _123
_123+4+(_1+2+3)=_115

88 байтиков - неутешительный результат. Мало у меня еще тацитной премудрости, чтобы обойти программистов на сильнейших яп - js и яибу.
#173 #798346
>>798321
Тише тише, просто оп тиречер (как и ты наверняка), он делает все, что может.
#174 #798352
>>798321
Мы понимаем, для тебя это сложно все, писать программы, читать тз, писать программы соответствующие тз, но может сам посчитаешь количество символов своего скрипта?
>>798625
35 Кб, 739x394
#175 #798356
>>798344
На пике 3 самых коротких решения, тестилось через wc.
>>795626-этот победитель мог бы ещё пробелы поудалять, тогда у него останется 85 символов, скрипт по-прежнему будет работать: https://ideone.com/g3gVV0

>программистов на сильнейших яп


Ирония здесь вообще неуместна. Задание - написать самую короткую корректно работающую программу. Ты бы ещё к красоте кода начал придираться.
Алсо, тебе мы просто поверили на слово. На анонимной-то борде поверили на слово!
sage #176 #798362
>>798356

>мы



За себя говори, помойный.
>>798367
sage #177 #798363
>>798356
и скриптопарашу свою себе обратно в очко засунь, придурок бля.
#178 #798364
>>798344

>_123



DISQUALIFIED
#179 #798367
>>798362
Ну хули ты молчал тогда? Кроме меня его никто не просил предоставить пруфы.
>>798388
#180 #798378
>>798356
puts "#{s="#{n=gets.strip}+#{n.size}+(#{n.scan(/\D*\d/).join '+'})"}=#{eval(s)}"

вот тебе самое короткое решение, если уж на то пошло, у победитель извращенец, либо не знает про scan
>>798412>>798793
144 Кб, 1280x720
#181 #798382
>>798356

> Ирония здесь вообще неуместна.


Во-первых ирония деанон и травля всегда уместны на АИБ, мой дотошный прыщеблядшка.

Во-вторых у меня и в мыслях не было придираться к решениям, руби и жс обогнали мое не самое корректное решение, это факт. А назаваю я их сильнейшими по аналогии с ычановской сырной, немного подтрунивая.

В-третьих ты зачем не осилил установку j и зачем тут банишь яваскриптоняшу у которого все правильно? В задницу засунь свои "спецификации", прыщеуебище, потом вынь и за щекой себе поводи, авось попустит.

Запомни, олимпиадки - это источник соревновательности, добра, троллинга и веселья и никто на них к мелочам не придирается. Когда задачка на децимальныме типы данных, а уебок их флоатами вычисляет - это косяк и тут доебаться нужно. Но когда кто-то сделал IO не по одному тебе известной "спецификации", то уж извини, изволь отсосать сам у себя и сдохнуть.

Аж трясет блеать, спецолимпиадка не по спецификациям, допинговый скандал в /зк/.
>>798401>>798402
#182 #798388
>>798367
Я начал было писать ему шутку, про его абро-кадабру, но увидел, что ты уже ему ответил, и передумал. А так да, пусть ищет идеон, сразу после того как сделает ввод/вывод знака минус, а не нижнего подчеркивания.
>>798402
#183 #798401
>>798382
Не знаю почему анон зачел твой вариант, лично я считаю что твой код не может участвовать Во-первых, там нет знака минус, который должен быть. А во-вторых, вот мое решение: S0S1HU1 и попробуй докажи, что оно не компилится.
>>798414
#184 #798402
>>798382

>В-третьих ты зачем не осилил установку j


Он в моём дистрибутиве в репах есть, мне тыкнуть одну команду. Я не ОП, а мимокрокодил, который просто хотел среди решений, которые выводят не -115, а -123+4+(-1+2+3)=-115
найти самые короткие.

>зачем тут банишь яваскриптоняшу


Именно я ему вообще ничего не писал. У него просто много символов.

>В задницу засунь свои "спецификации"


Какие спецификации, я не говорил, что хардкод входных значений - это плохо. Ты раздул из мухи слона.

>>798388

>сразу после того как сделает ввод/вывод знака минус, а не нижнего подчеркивания.


Это тоже писал не я, вы охуели?
>>798414
#185 #798412
>>798378

>puts "#{s="#{n=gets.strip}+#{n.size}+(#{n.scan(/\D*\d/).join '+'})"}=#{eval(s)}



Что делает этот код, рассчитывает периоды твоего цикла?
>>798425
#186 #798414
>>798401
Доказал тебе за щекой, а теперь докажи ка, что я не доказал.
>>798402

> Я не ОП, а мимокрокодил


> я ему вообще ничего не писал


> я не говорил


> Это тоже писал не я


Проиграно. Зачем ты вообще это все пишешь, я же не стану тебя бить за то писал ты что-то или нет.
>>798420
#187 #798415
НАЧАЛЬНИК, БЛЯДЬ! Убери дибилов из треда, я не хочу сидеть в одном треде с дибилами!
#188 #798420
>>798414

>Зачем ты вообще это все пишешь


А сам написал мне пространный пост.
Наехали на меня без причины, ты ещё и линукс приплёл. При том, что я воспользовался самым быстрым и наглядным для остальных способом показать количество символов для нескольких решений.
Ну вас нахуй, только настроение испортили.
>>798431
#189 #798425
>>798412
>>798412
Не понял твой вопрос
41 Кб, 614x345
#190 #798431
>>798420
Не унывай, ты просто пост по-хозяйски написал, поэтому и попал под раздачу.

> А сам написал мне пространный пост.


У меня пост с моим мнением о собеседниках и происходящем в треде. А у тебя какие-то сплошные оправдания. По идее на АИБ (на то она и А) всем похуй кто именно что писал, а кто нет, заморачиваться на идентификацию не стоит. На крайний случай можешь аватаркоблядствовать как я.
#191 #798606
>>798539
В J минус — операция, а отрицательные числа обозначаются подчёркиванием.
>>798610
#192 #798610
>>798606
Не думаешь, что тебе сразу нужно было об этом сообщить, сам же предвидел вопросы: > Сейчас еще начнутся доебывания к подчеркиванию

> В J минус — операция, а отрицательные числа ...


Negation - это тоже операция, просто унарная.
>>798623
#193 #798623
>>798610
Я другой анон же.

> Negation - это тоже операция, просто унарная.


Prelude> (+1) 5
6
Prelude> (-1) 5

<interactive>:3:1:
Non type-variable argument in the constraint: Num (a -> t)
(Use FlexibleContexts to permit this)
When checking that ‘it’ has the inferred type
it :: forall a t. (Num a, Num (a -> t)) => t
#194 #798624
На большой арифметике все ваши недорешения отсасывают по полной.

Так что пока победителя нет.
#195 #798625
>>798352
Вот самое малое, что я могу придумать. 86 символов.

n=prompt();n=n+'+'+n.length+'+('+n.replace(/-?.(?=.)/g,'$&+')+')';alert(n+'='+eval(n))
#196 #798626
>>798537
Пока самое короткое решение.

>perl


Плюсую
#197 #798701
num+len(str(num))+sum([int(i)for i in str(num)]if num >= 0 else[int(str(num)[:2])]+[int(i)for i in str(num)[2:]])

Пистон.
113 символов.
>>798712
#198 #798712
>>798701
n+len(str(n))+sum([int(i)for i in str(n)]if(n>=0)else[int(str(n)[:2])]+[int(i)for i in str(n)[2:]])

99 characters.
>>798777
#199 #798777
>>799695
#200 #798793
>>798378
Часть символов в твоём решении захавала макаба. Не пойму, вы так троллите, зачем вы срёте кодом прямо в тред?
>>798935
#201 #798935
>>798793
Нет, всё на месте.
RUBY #202 #799037
>>798537
Оформил твое решение на Ideone:
http://ideone.com/Ug8DuV
Оно не выводит результат в STDOUT. И ты зачем-то обрабатываешь ввод в цикле, этого не требуется по условиям задачи. Мог бы сократить решение. Пожалуйста, представь нам рабочее решение на Ideone.

Пока победитель Ruby
http://ideone.com/3Dp9Qz
79 символов
>>799039
#203 #799039
>>799037
Можно ещё 2 пробела убрать, будет 77 символов: https://ideone.com/QhAxar
#204 #799074
>>799055
69 символов.
Может ещё на Руби представят покороче, но вряд ли Перл можно обойти.
#205 #799197
Я тут сократил немного Ruby до 75 символов:
http://ideone.com/tPzq4I

мимокрок
#206 #799695
>>798777
n = int(input('Вводи своё сраное число пидрила: '))

Спешл фо ю.
#207 #799776
>>798344
Что это за хуйня?

мимопроходил в 1с тред.
>>799845
#208 #799845
>>799776
Это не для вас написано, молодой человек.
78 Кб, 1280x720
39 Кб, 715x224
#209 #799862
71!
>>800092
#211 #800072
>>784954 (OP)
В чем короткость измеряется? Символов кода? Давай лучше ассемблерных команд, не погромист штоли?
>>800178
sage #212 #800092
>>799862

> UNREGISTERED


АХААХХАХАХА, на педикбук хватло, а на лицуху не хватило. Найс.
>>800101>>800382
#213 #800101
>>800092
Быдло чтоли, программы покупать?
#214 #800178
>>800072
Команд какой архитектуры? А считаются ли байткод виртуальной машины?
sage #215 #800382
>>800092
а нахуй покупать его если они так рабоает номально?
Обновить тред
Двач.hk прислал битые данные.
Вы видите копию треда, сохраненную 11 августа 2016 года.
Можете попробовать обновить страницу, чтобы увидеть актуальную версию.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски