«Привет, мир!», Повторяя каждый символ n раз [закрыто]


15

На выбранном вами языке напишите программу, которая выводит точно Hello world!. Каждый символ в вашей программе должен повторяться n раз - вы выбираете n .

Например, вы можете выбрать 2 для n . Это означает, что каждый символ, используемый в вашем исходном коде, должен повторяться столько раз, либо 0.

Если бы я выбрал 3 для n , эта программа была бы действительной:

ab(b(b(aa)));;;

Правила:

  • Вы не можете использовать какие-либо внешние ресурсы
  • Пользовательский ввод не может быть предоставлен
  • Вы должны вывести точно Hello world! , не больше, не меньше. Новые строки являются исключением, они являются необязательными.
  • n должно быть> = 2, чтобы все было интересно
  • Настоятельно не рекомендуется использовать комментарии для достижения вашей цели.

Конкурс популярности, заканчивающийся за 14 дней. Лучший ответ в конце выигрывает!


Давайте украдем все ответы из этой темы: codegolf.stackexchange.com/questions/18925/… с n = 1
Fabinout

Ой, скажем так n>=2, @Fabinout
Отменить

1
вот JSFiddle, который я собрал для тестирования, если кому-то это нужно
Doorknob

2
Я хотел бы видеть решение HQ9 + для этого.
Nzall

1
@Nate HQ9 + выводит запятую (как отмечено в удаленном ответе). ;-)
Дверная ручка

Ответы:


25

Brainfuck

п = 57. 45 новых строк удалено благодаря уроду с трещоткой

++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++..+++.>++.<++++++++.--------.+++.------.--------.>+.---------------------------------[.............................................][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]<-<<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><

Более читаемая версия:

+++++ +++++ [
    > +++++ ++
    > +++++ +++++
    > +++
    <<< -
]
> ++ .
> + .
+++++ ++.
.
+++ .
> ++ .
< +++++ +++ .
----- --- .
+++ .
----- - .
----- --- .
> + .
---------------------------------[.............................................][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]<-<<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><

Последняя строка (в читаемой версии) предназначена для заполнения счетчика символов. Они не являются комментариями. []Являются while(0)s, и ><s не в сущности нет-OPS


Не могли бы вы положить .внутри одного из []и не выводить новые строки
трещотка урод

@ rachet freak Хорошая мысль. Благодарю.
user12205

Я думаю, что храповик предлагал переместить [ в первом []раньше точек, так что это было бы не выход даже NULLs.
Ильмари Каронен

@ Ilmari Karonen Да, понятно. Благодарю.
user12205


12

Python 3, n = 3, без комментариев

dwwppHottedHen =print((("H[e]l1l1o\\ !w!orrilidn!\""[::2][:12])))== 2

Не слишком сложно для Pythonist понять. ;) (Подсказка: попробуйте "abcdefghijk"[::2]и посмотрите, к чему это приведет)

Кстати, HottedHen разогретая курица, если вам интересно. ( dwwppПрежде чем это расшифровывается drinking water with purple pancakes, потому что это то, что курицы делали, когда я писал это. Все знают, что фиолетовые блины хорошо сочетаются с водой. Очевидно.)


11

С, 54

main(Hadmeinwurst015p){{!puts("Hello\40wor\154d!");;}}

1
У вас есть ав, который не соответствует
Эдуард Флоринеску

@ Эдвард, хм, вы правы, должно быть, он случайно туда попал, потому что, похоже, он не был включен в число символов ... исправлено.
FireFly

5

Golfscript - 32

Новая версия с 2 каждым использованным символом - 32 - Тест онлайн

;"Hello wor\x6cd!" '\Hewrx6cd!';

Старая версия - 39 - Тест онлайн

;;'Hello world!'  "'HHeewworrdd!!\\\"";

РЕДАКТИРОВАТЬ: Обновлено, так как правила были обновлены, говоря, что это не рекомендуется с использованием комментариев


Гораздо лучше без комментариев!
отменить

4

Ява - 1221 символ

Каждый символ повторяется (int)'!'количество раз.

public class ncharacterHelloworld {
    public static void main(String[] args){
        {;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;
{;{;{;{;{;{;{;{;{;{;{;{
String pppppppppppppppuuuuuuuuuuuuuubbbbbbbbbbbbbbbllllllllllliiiiiiiiiiicccccccccccccaaaaaaaaaaaassssssssssssssnnnnnnnnnnnnnhhhhhhhhhhhhhhhhrrrrrrrrrrrrttttttttttteeeeeeeeeeeeeeHHHHHHHHHHHHHHHooooooooooooowwwwwwwwwwwwwwwdddddddddddddddvvvvvvvvvvvvvvvvmmmmmmmmmmmmmmmSSSSSSSSSSSSSSSgggggggggggggggyyyyyyyyyyyyyyyy="Hello world!",
a=pppppppppppppppuuuuuuuuuuuuuubbbbbbbbbbbbbbbllllllllllliiiiiiiiiiicccccccccccccaaaaaaaaaaaassssssssssssssnnnnnnnnnnnnnhhhhhhhhhhhhhhhhrrrrrrrrrrrrttttttttttteeeeeeeeeeeeeeHHHHHHHHHHHHHHHooooooooooooowwwwwwwwwwwwwwwdddddddddddddddvvvvvvvvvvvvvvvvmmmmmmmmmmmmmmmSSSSSSSSSSSSSSSgggggggggggggggyyyyyyyyyyyyyyyy,
u="\"=============================,,,,,,,,,,,,,,,,,,,,,,...............................",b="\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\\\\\\a",i,l,c,t,H,o,w,m;int[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]ffffffffffffffffffffffffffffffff;
        if(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!(!!true)))))))))))))))))))))))))))))))
System.out.println(a);
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
    }




}

Я устал положить все =и ,и тому подобное в коде, так что я закончил демпинг их в строке; не комментарий, а строка. Каждый действительный символ используется для имени переменной.



3

Командная строка Windows - 42 байта

п = 3

ecHo.Hello world! 2>^>2cceHwwrrdd!.. 2>^^!

Пакет - 45 байт

@ecHo.Hello world! 2>^>2cceHwwrrdd@@..! 2>^^!


2>перенаправляет stderr в файл с именем >22cceHwwrrdd- >это недопустимый символ для имени файла - перенаправить вывод этой ошибки в файл с именем^! .

Понял, что я полностью игнорировал !и >. Dang.



3

Рубин - 40 символов (n = 2)

print "Hel\x6co World!"||'pintHe\x6cWd!'

Сколько у вас мест? Правильно ли говорить, что первые два вокруг pявляются вкладками (или что-то подобное)?
Джастин

@Quincunx Первый пробел был опечаткой. Теперь отредактировано
Siva

3

PHP - 30 байт, n = 2

Hell<?='=s?<;^2s'^RSHSI2VReIV;

Самое короткое решение на данный момент. Возможно, я смогу уменьшить это еще на 2-4 байта.



2

Желе , 16 байт (не конкурирует)

“⁸ƒẹI4»
“⁸ƒẹI4»

(+ завершающий перевод строки)

Попробуйте онлайн! (n = 2)

Никаких комментариев вообще. Уверяю вас. Просто ссылка 1 и главная ссылка.


И да, я знаю, что это не код-гольф .
Эрик Outgolfer

Хм ... так что этот ответ проложил дорогу к решению этой проблемы. Ницца.
Эрик Outgolfer


1

Perl (51 байт)

print'Hello world!'; ppriinnttHHeeowwdd; "'\"\\!!";

Старый пост и, вероятно, не имеет большого значения, но вы можете сохранить несколько байтов, используя $'или $"внутри q!!блока вместо `\` s.
Дом Гастингс

1

С 75 56 54

2 всего

main(HWacdeimnprstux6) {{!puts("Hel\x6co\ World!");;}}

main( ){puts("Hello Wor\x6cd!\0!;HWacdeimnprstux06{}");}

3 всего.

main(){puts("Hello World!\000!!;;HHWWaaddeeiimmnnpprrssttuu{}{}\"\()o");}

Putsпрекращает чтение после первого нулевого байта ( \000) и выводит только все до него.


Во первых iэто отчасти одиноко! :)
Эдуард Флоринеску

Ваши первые два имеют только один i(легко исправить: измените mainимя аргумента). Ваш последний только один пробел
Doorknob

1
@EduardFlorinescu Lol, я опубликовал это точно в то же время, что и вы: P
дверная ручка

Упс, первая пропала. Второй был просто неуместен.
Кевин


1

JavaScript 40 (n = 2)

Я применил немного иной подход к @eithedog, используя оставшиеся надписи в качестве логического триггера, так что было абсолютно необходимо использовать его для активации alertфункции.

('Hawtd !')&&alert("He\x6c\x6co world!")



1

Javascript, 40

alert("Hel\x6Co wor\x6Cd!", !('adtHw,'))

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

редактировать: И, если нарушать правила - 36 :

alert("Hel\x6Co wor\x6Cd!")( !wdatH)

(злоупотребление = когда вывод выводится как приглашение, консоль отображает ошибку - не знаю, как с этим справиться).


2
rпоявляется 3 раза, а wпоявляется только один раз. (в обеих версиях) Просто замените окончательный rс , wчтобы исправить это
дверная ручка

О, дислексия, ты жестокая госпожа ... Спасибо!
вышла

1

Баш, 39

echo -e "H\r--w\"!wccdd!\rHello world!"

Это отображает в точности Hello world !, и составляет 39 символов, если вы пропускаете завершающий перевод строки (похоже, bash это не нужно).

Если вам нужна регистрозависимая версия, она становится 42 символами:

echo -e "HhhH\r--w\"!wccdd!\rHello world!"

1

JavaScript (52 символа)

alert(['He\x6C\x6Co world!'][(!1,0)-0], +-1+"Hadtw")

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

Примечание. Сначала я разместил этот ответ здесь .


1

Golfscript x4 - Нет лишних символов - Использование всех возможных команд

'HHHeeelWWWrrrd'!!! do do 'Hello world!'

Я попытался сделать тот, у которого не было никаких дополнительных символов помимо того, что было абсолютно необходимо (хотя я мог бы выбрать "вместо 'или ")

В качестве вторичной цели я также хотел поместить как можно меньше символов в строку, поэтому я использовал !оператор как таковой, и я также сжал doоператоры.


1

R, 346 символов, n = 12

cat((((((((((intToUtf8(c(40,69,76,76,79,0,55,79,82,76,68,1)+31+1+0+0+0+0+0+0+0+0++0*11111111[1]*22222222222[1]*33333333333[1]*44444444444[1]*5555555555[1]*6666666[1]*7777777[1]*888888888[1]*999999*9[1]*9[1]*9[1])))))))))),"\"\"\"\"\"\"\"\"\"\"\\aaaaaaaaaaaccccccccccfffffffffffiiiiiiiiiiinnnnnnnnnnnoooooooooootttttttttTTTTTTTTTTTUUUUUUUUUUU"[0])

Символы, используемые в этом коде:

,"()[]*\+0123456789acfinotTU

1

Классический ASP (VBScript; 62 символа)

Hel<%REspOnsE.wRite Chr((0<0>-.6&"!")+&H6C+h-dinptO)%>o world!

Использует каждого персонажа ровно 2 раза!


Изменить: этот код немного короче:

Hel<%= Chr((0<0>we=6&"!")+&H6C+hd)%>o world!

И вот так:

Hel<%= CHr((0<1>wedC=8&"!&")++108)%>o world!

1

Befunge 98 - 26 байт

Так как мне rвсе равно пришлось продублировать , я решил, что исходный текст можно будет читать слева направо, а не в типичном gnirtsстиле Befunge. В этом нет ничего особенно примечательного; Я не уверен, что код, который просто не выполняется, считается комментарием, но шесть символов Hel w!просто игнорируются.

rHel w!@,dk"Hello, world!"

0

Turtlèd, n = 3, (неконкурентный)

N = 3, из-за "Привет, мир!" имея три lс.

'!' ' HHeeowwrrdd"Hello world!""!

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

Объяснение:

'!                                write exclamation mark
  ' '                             write space twice on the same cell as exclamation mark
      HHeeowwrrdd                 balances chars in Hello world!, moves the pointer
                 "Hello world!"   Write Hello world! to grid
                               "! Write the exclamation mark again, on top of the last one
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.