쓰리 쓰리 쓰리!


66

다음과 같은 출력을 생성하는 프로그램을 작성하십시오.

  1. 최소한 세 개의 고유 한 문자가 나타납니다.
  2. 각 문자의 발생 횟수는 3의 배수입니다.

예를 들면, A TEA AT TEE4 개 개의 별개의 문자들 각각은, 이후 유효 출력되고 A, E, T(space), 3 회 발생한다.

물론, 숫자 3에 대한 도전에는 세 번째 요구 사항이 있어야합니다. 그래서:

  1. 프로그램 자체도 처음 두 가지 요구 사항을 따라야합니다. (이는 프로그램의 길이가 9 바이트 이상임을 의미합니다.)

함수가 아닌 전체 프로그램을 작성해야합니다. 답에 프로그램의 결과를 보여주십시오.

또한 일을 흥미롭게 유지하려면 다음을 적극 권장합니다.

  • 도움이 될 수 있다면 요구 사항 3을 충족시키기 위해 주석을 사용 하지 마십시오.
  • 3 번 반복되는 문자열이 아닌 출력을 생성
  • 출력을 프로그램 자체와 다르게 만들려면 (자체 프로그램의 내용을 자동으로 출력 할 수있는 언어의 경우이 커뮤니티 위키에 기여할 수 있음 )

이것은 입니다. 바이트 단위의 최단 코드가 이깁니다.


5
개행은 (개별 문자로) 계산됩니까?
zeppelin

4
리터럴로만 구성된 프로그램이 허용됩니까? ( 123123123현재 작성된 것처럼 작동 하는 언어가 많이 있습니다 .)

2
@zeppelin 네, 개행은 별개의 문자로 간주됩니다.
darrylyeo

2
내가 묻는 것은 프로그램 abcabcabc이 후행 줄 바꿈으로 출력 할 수 있습니까?
ETHproductions

1
@ETHproductions 아, 알겠습니다. 아니요, 허용되지 않습니다. 그러나 세 개의 마지막 줄 바꿈이 허용됩니다.
darrylyeo

답변:


59

Brain-Flak , Flakcats , Brain-Flueue , Brain-Flak Classic , MiniflakFλak 18 바이트

입증 된 최적!

((([()][()][()])))

온라인으로 사용해보십시오!

설명

Brain-Flak, Brain-Flueue, Miniflak 및 Fλak

   ([()][()][()]) Push -3
  (              ) Copy
 (                ) Copy

이것은 다음을 인쇄합니다.

-3
-3
-3

(후행 줄 바꿈이 있습니다)

브레인-플락 클래식

Brain-Flak Classic은 Brain-Flak의 최초 버전이며 현대 Brain-Flak과는 몇 가지 중요한 차이점이 있습니다. BFC에서는 [...]내용을 부정하지 않고 인쇄합니다.

   [()] Print 1
       [()] Print 1
           [()] Print 1
  (            ) Push 3
 (              ) Push 3
(                ) Push 3

실행이 끝나면 스택 ( 3 3 3) 의 내용 이 인쇄됩니다.

이것은 다음을 인쇄합니다.

1
1
1
3
3
3

(후행 줄 바꿈이 있습니다)

Flakcats

Flakcats는 다른 4 가지 Flaks와는 상당히 다르며 Flakcats에서 작동한다는 사실에 놀랐습니다. 여기의 세 연산자는 Brain-Flak이 사용하는 연산자와 거의 동일합니다.

Flakcats 간의이 특정 프로그램의 주요 차이점은 Flakcats의 Brain-Flak (...)과 동등한 연산자입니다 ([{}]...). 그러나 이것은 0을 선택하여 Brain-Flak과 같은 방식으로 작동하기 때문에 우리에게 차이가 없습니다.

다음은 Brian-Flak으로 컴파일 된 프로그램입니다.

([{}]([{}]([{}][()][()][()])))

이것은 다음을 인쇄합니다.

-3
-3
-3

(후행 줄 바꿈이 있습니다)

Brain-Flak 및 Miniflak 의 최적 증명

이것은 공식적인 증거가 아니라보다 엄격한 것으로 확장되어야하는 비공식적 인 증거입니다.

Brain-Flak 프로그램이 균형 잡힌 문자열이어야하고 프로그램 길이가 3의 배수 여야한다는 제한 때문에 유효한 제출의 길이는 6의 배수 여야합니다. 즉, 18보다 작은 솔루션은 길이 12 여야합니다.

줄 바꿈에 뒤따른 출력 때문에 스택의 최종 높이는 3의 배수 여야합니다. 그렇지 않으면 출력에 대한 제한을 위반합니다.

길이가 12 인 유효한 제출에는 2 가지 유형의 중괄호가 있어야합니다 (각각의 문자 수에 대한 제한을 줄이면 12 자 이상을 의미합니다). 프로그램이 출력을 생성하므로 푸시가 있어야합니다.

이를 통해 다른 가새 세트를 선택할 수 있습니다. 옵션은 다음과 같습니다.

<...>/<>

0이 아닌 다른 숫자를 만들려면 "값"을 생성해야하기 때문에 실패합니다. a ()를 두 번 이상 밀어 낼 수 없게 만드는 숫자를 포기해야합니다 .


[...]/[]

마지막 실패와 같은 이유로 실패합니다. 대괄호는 실제로 가치를 창출하는 데 좋지 않습니다. []모나드는 가치를 창출하지만 우리는 첫 번째 숫자를 밀어 필요가 있고 우리는 충분히 괄호가 세 번 밀어 남은 필요가 없습니다.


{...}/{}

이것은 유망합니다. 우리는 루프를 만들고 하나 ()를 사용 하여 여러 번 밀어 넣을 수는 있지만 불가능합니다.

루프를 끝내려면 어떤 시점에서 스택에 0이 있어야하고 올바른 출력을 얻으려면 프로그램 끝에서 스택에 0 이외의 것이 있어야합니다. 루프 끝의 0 []도 스택의 맨 아래부터 암시 적 0 이 아니 어야합니다 . 이것은 루프가 스택에 새로운 숫자를 추가 할 수 없다는 것을 의미합니다.<>


중괄호를 선택할 수있는 길이가 12 인 프로그램을 만들 수 없으므로 존재하지 않습니다.

Miniflak는 Brain-Flak의 하위 집합이기 때문에 더 짧은 Miniflak 프로그램은 더 짧은 Brain-Flak 프로그램이되기 때문에 존재하지 않습니다.

뇌-유체 에 대한 최적의 증거

Brain-Flueue는 Brain-Flak을 기반으로 한 농담 언어입니다. 두 사람은 너무 비슷해서 통역사는 어디에서나 두 줄로 동일합니다. 이 둘의 차이점은 이름에서 알 수 있듯이 Brain-Flueue는 데이터를 대기열에 저장하고 Brain-Flak은 데이터를 스택에 저장합니다.

시작하려면 Brain-Flak이 만든 프로그램 크기에 대해 동일한 제한이 있으므로 크기가 12 인 프로그램을 찾고 있습니다. 또한 (...)출력과 다른 쌍을 만들려면가 필요합니다 . <>[]쌍은 뇌 - 플랙에서 작동하지 않습니다 동일한 이유로 뇌 - Flueue에서 작동하지 않습니다.

이제 우리는 프로그램이 문자로 구성되어야한다는 것을 알고 ((())){{{}}}있습니다.

이전 증명에서 사용 된 동일한 방법을 통해 최종 프로그램에 루프가 있어야 함을 보여줄 수 있습니다.

Brain-Flueue는 스택이 아닌 대기열에서 작동하기 때문에 프로그램은 대기열에 값이있는 루프를 종료 할 수 있습니다.

루프를 종료하려면 대기열에 0이 필요합니다 (또는 빈 대기열이지만 대기열이 비어 있으면 Brain-Flak과 동일한 문제가 발생 ({})합니다). 제로. 필요한 수의 항목을 대기열로 푸시하려면 루프 내부를 푸시해야합니다. 또한 루프 앞에 0이 아닌 숫자를 입력해야 루프에 들어갈 수 있습니다. 이것은 최소한의 비용이들 것 (())입니다. 우리는 이제 우리보다 더 많은 양을 사용했습니다.

따라서 12 바이트 인 작업을 수행 할 수있는 Brain-Flueue 프로그램이 없으며 프로그램도 최적입니다.

FlakcatsBrain-Flak Classic의 최적 솔루션

다음 솔루션은 Flakcats 및 Brain-Flak Classic에서 최적입니다.

((([][][])))

설명

    [][][] -3
 (((      ))) push 3 times

대체 24 바이트 Brain-Flak 솔루션

(<((<((<(())>)())>)())>)

온라인으로 사용해보십시오!

((<((<((<>)())>)())>)())

온라인으로 사용해보십시오!

((((((()()()){}){}){})))

온라인으로 사용해보십시오!


2
증거도 +1합니다.
HyperNeutrino

3
폴리 글롯도 +1, esp. 모든 출력이 같은 것은 아닙니다.
Shieru Asakoto

27

젤리 , 9 바이트

**‘‘‘888*

888 큐브 인 700227072 를 인쇄하는 전체 프로그램입니다 .

TryItOnline!

어떻게?

**‘‘‘888* - Main link: no arguments
          - implicit L=R=0
*         - power       A = L ^ R = 1
  ‘       - increment   B = L + 1 = 1
 *        - power       C = A ^ B = 1
   ‘      - increment   D = C + 1 = 2
    ‘     - increment   E = D + 1 = 3
     888  - literal     F = 888
        * - power           F ^ E = 700227072

5
888^3이다 700227072? 그것은 매우 영리합니다. 아마 다른 언어 가이 트릭을 사용할 수 있습니다.
ETHproductions

23

순전히 리터럴 답변의 폴리 글 로트, 9 바이트

333111222

이것은 해당 언어가 자동으로 인쇄되는 문자 그대로의 답변을 수집하기위한 커뮤니티 위키 게시물입니다. 커뮤니티 위키이므로 자유롭게 편집하여 작동하는 언어를 더 추가하십시오.

이 프로그램은 다음에서 작동합니다.

  • PHP
  • HTML (언어가 아닌 언어)
  • 젤리 (및 M )
  • 7 (프로그램이 데이터 코드 로 해석되기 때문에 더 흥미 롭습니다 . 첫 번째 3는 데이터를 인쇄하고 나머지 프로그램은 쓸모없는 스택 조작입니다)
  • CJam
  • apt
  • 당근
  • R (R 디스플레이는 또한 [1]을 메타 데이터로 출력합니다)
  • RProgN
  • 실제로 (실제로 인쇄하지만 2\n2\n2\n1\n1\n1\n3\n3\n3\n)
  • ///
  • 누델
  • TI 기본
  • 간단한 템플릿
  • 재 등록
  • 껍질
  • 리소스 (이것은 문자열을 반대로 출력하지만)

마지막 줄 바꿈을 무시하면 상당히 많은 언어에서 유효합니다.

대부분의 링크는 온라인으로 사용해보십시오!


3
이것은 2\n2\n2\n1\n1\n1\n3\n3\n3\n실제로 인쇄 되며 완벽하게 유효합니다. 게시물에 추가해야합니까?
ETHproductions

@ETHproductions 실제로 동일한 코드를 사용하므로 실제로 게시물에 추가해야한다고 생각합니다.)
Kritixi Lithos

실제로 만든 사람으로서이 게시물에 속한다는 것에 동의합니다. 줄 바꿈은 실제로 차이를 만들지 않습니다.
Mego

이것은 또한 내가 작성한 언어에서 작동합니다 : SimpleTemplate . 오버 킬 echo '333111222';(PHP) 으로 컴파일 하지만 작동합니다.
Ismael Miguel

4
@IsmaelMiguel : 커뮤니티 위키 답변입니다. 그것은 ETHproductions에 의해 쓰여진 29 %에 불과했습니다. (실제로, 개정 내역에서 볼 수 있듯이 원래 답변을 작성한 사람은 저였습니다. 모든 일에 대한 책임). 전체적인 목적은 공동 작업으로 많은 사용자가 편집하는 것입니다. (이것은 편집하도록 설계되지 않은 일반 답변과는 다릅니다.)

21

C #을 114 111 118 102 바이트

올바른 단어 사용에 관심이없는 경우 : (102 바이트)

class CCcddiilMMmmnrrSSsttvvWWyy{static void Main(){{System.Console.Write(("A TEA AT TEE"));;;}}}///".

우리가 올바른 단어에 관심이 있다면 : (120 bytes)

class erebeWyvern{static void Main(){int embedWildbanana;{System.Console.Write(("A TEA AT TEE"));;}}}///CC Myst mvcSMS".

내 원래 제출-대소 문자를 구분하지 않음 : (113 바이트)

class EreBeWyvern{static void Main(){int embedwildbanana; {System.Console.Write(("A TEA AT TEE"));;}}}/// vyt".

나는 그 의견이 실제로 CG의 정신에 있지는 않다는 것을 알고 있지만, 제한된 시간 안에 얻을 수있는 전부입니다. 하루 동안 개선 할 수 있는지 볼 것입니다. 확실히 나는 모험이 되려면 적어도 몇 가지 보너스 포인트를 얻어야한다.

편집 : 누락 된 문자를 잡아 주셔서 roberto06에 감사합니다!


1
저는 C #이 아닌 C ++ 사람이지만 {()}의 Write 호출을 영향을 미치지 않고 랩핑 할 수 있습니까?
Sparr

1
호출 전체가 아닌 인수 주위에 괄호를 넣을 수 있습니다.

7
야생 바나나를위한 브라우니 포인트.
darrylyeo

6
좋은! 나는 변수 이름을 좋아한다. +1
MildlyMilquetoast

1
V코멘트에서 제거 하고 추가해야합니다 vyt. 왜냐하면 두 번 V존재하는 동안 만 존재하고 v(오타, 나는 추측합니다) y또한 두 번 t존재하고 5 번 존재하기 때문입니다. 여기를 참조하십시오 . 그럼에도 불구하고, 멋진 직업!
roberto06

18

자바 스크립트, 36 33 바이트

alert(((alert|alert||333111222)))

경고 333111222. |피연산자 둘 다를 32 비트 정수로 변환하고 정수 (예 : 함수 alert) 처럼 보이지 않는 값은로 변환 되기 때문에 작동 합니다 0. 0|0is 0이므로 ||연산자는 오른쪽 피연산자를 반환하거나333111222

몇 가지 더 흥미로운 버전 :

(a="(trelalert)\\\"")+alert(a+=a+=a)

출력 (trelalert)\"(trelalert)\"(trelalert)\".

.repeat공유 덕분에 사용하는 솔루션의 길이는 같습니다 aert.

alert("(trpp.all)\\\"".repeat(3.33))

어떤 출력 (trpp.all)\"(trpp.all)\"(trpp.all)\".

여분의 백 슬래시를 활용하여 제거 l하고 p 거의 작동합니다.

a\x6cert("(trax.cc)\"".re\x70eat(6.00677))

이것이 출력 (trax.cc)"(trax.cc)"(trax.cc)"(trax.cc)"(trax.cc)"(trax.cc)"됩니다.


1
소수의 멋진 남용!
darrylyeo

2
@darrylyeoHeh 감사합니다. 나는 현에있는 사람들을 쉽게
붙잡을 수 있었지만


14

CJam , 9 바이트

10,10,10,

출력 012345678901234567890123456789

온라인으로 사용해보십시오!

설명

10,       The range from 0 to 9
   10,    The range from 0 to 9
      10, The range from 0 to 9

3,3,3이 7 바이트에서 작동하지 않습니까?
chim

아! 네, 세 번째 요구 사항 :)
chim

Argh, 사용할 기회를 놓친 99,99,99,이유는 무엇입니까?
workoverflow

@workoverflow 세 번째 요구 사항에서는 작동하지 않기 때문입니다. 이 프로그램에는 세 개의 다른 문자가 포함되어야합니다.
DLosc

@DLosc Touche, 나는 그것에 대해 잊었다!
workoverflow 12

11

brainfuck , 12 바이트

++[+...][][]

아무도 출력이 짧아야한다고 말했다. 처음 2 개를 제외한 모든 ASCII 문자의 사본 3 개가 출력됩니다.

이것이 가능한 한 짧다는 것을 증명할 수 있습니다. 출력해야하므로 3 '가 필요합니다.' 다른 출력이 필요하므로 이제 3 [+-]이 필요합니다. 이제 최대 6 자입니다. 9자를 인쇄해야합니다. 즉, 6을 더 추가해야합니다. ' 또는 루프를 추가하면 다른 6자가 추가됩니다.

온라인으로 사용해보십시오!


10

파이썬 2, 36 30 바이트

후행 줄 바꿈이 허용되지 않으므로 가능한 한 짧습니다.

print"\\\""*3;print;print;3**3

온라인으로 사용해보십시오

\"세 번 출력 한 다음 세 줄 바꿈이 이어집니다.


아래 프로그램은 후행 줄 바꿈을 계산하지 않으므로 유효하지 않습니다.

27 바이트 :

print"""printprint"""*3*3*3

의 각 문자를 54 개 인쇄합니다 print.

온라인으로 사용해보십시오


동일한 길이, 더 짧은 출력 :

print"""printprint*3*3"""*3

출력 printprint*3*3printprint*3*3printprint*3*3


24 바이트 :

print~9;print~9;print~9;

print"""printprint*3*3"""*3훨씬 짧은 출력을 위해 할 수 있습니다 ;-)
ETHproductions

print 123;print 123;print 123;순진한 해결책으로 는 할 수 없습니까?
ETHproductions

OP는 단일 후행 줄 바꿈이 허용되지 않음을 명확히했습니다 (주석 참조).
FlipTack

1
@ETHproductions 물론입니다. 우리가 얼마나 순진한 지에 따라 다릅니다.
mbomb007

3
더 순진한 :print~9;print~9;print~9;
Sp3000


9

C, 66 바이트

main(i){{for(i=0;i<3;i++){printf("""poop+fart=<3<3at0m=m0n""");}}}

산출

poop+fart=<3<3at0m=m0npoop+fart=<3<3at0m=m0npoop+fart=<3<3at0m=m0n    

이전 버전 72 바이트

main(i){for(i=0;i<3;i++){printf("poop+fart=<3<3 at {\"0m=m0\"}" "\n");}}

2
코드는 내가 한 것보다 훨씬 작을뿐만 아니라 실제 똥과 방귀도 포함합니다. 브라보.
dim

9

자바 스크립트 (ES6), 30 바이트

+alert((({alert}+{alert}+{})))

출력 [object Object][object Object][object Object].

세 가지 객체를 만들어 작동합니다.

  • 처음 두 가지는 { "alert" : alert }ES6 표기법을 사용 하는 형식입니다.{alert}

  • 세 번째는 간단한 빈 객체입니다

그런 다음 +그것들을 함께 연결하는 데 사용 하고 세 가지 모두 문자열과 동일한 식을 갖습니다 [object Object].

선행 +은 쓸모가 없으며 +문자 수를 채우기 위해 존재 하지만 프로그램 출력에는 무해합니다.


다른 JS 답변을 이길 방법!
darrylyeo

(ES6)제목 에도 추가 해야합니다.
darrylyeo

@darrylyeo 감사합니다! :) 그리고 나는 ES6
apsillers를

8

PKod , 9 바이트

sonsonson

출력 : 111222333


설명:

Background: PKod has only one variable that you mess with, with the code
This variable starts with default value of 0

s  -  Add next char to the variable, and jump over it. 
n  -  Print numeric value of variable

o ASCII 문자 코드 "111"이 10 진수입니다. 따라서 s는 변수에 111을 더한 다음 숫자를 인쇄합니다. 첫 번째 "아들"은 111을 만들고 111을 인쇄합니다. 다음은 222를 만들고 222를 인쇄하고 마지막으로 333을 만들고 333을 인쇄합니다.



7

마이크로 스크립트 II, 9 바이트

{{{~~~}}}

설명 : 코드 블록을 작성하지만 호출하지는 않습니다. 실행이 끝나면 주 레지스터 (IE이 코드 블록)의 내용이 암시 적으로 인쇄됩니다.


Quine 챌린지에 비슷한 내용을 게시 했습니까?
wizzwizz4

@ wizzwizz4 {}는 엄밀히 말해서 quine 일 것이지만, 그것이 "적절한 quine"에 대한 우리의 정의를 충족 시키지는 않는다고 생각합니다. 그러나 프로그램 "q"q(나는 quine 도전에 제출했다).
SuperJedi224

@ wizzwizz4 : 각 문자가 자신을 나타 내기 때문에 적절한 퀴즈가 아닙니다 .


7

C, 111 바이트

(바이트 수도 3 개의 같은 숫자입니다. 와우. 그보다 더 많은 메타를 할 수는 없습니다.)

#include<stdio.h>
#define b "<acdhlmoprsu>."
#define t "en"
main(){{{printf(("<acdhlmoprsu>." b b t t t));;;}}}

인쇄물:

<acdhlmoprsu>.<acdhlmoprsu>.<acdhlmoprsu>.enenen


5

99 , 15 바이트

9 9  9999
9
9
9

즉 9 9 9, 3 공백 및 3 라인 피드이며 출력은 -1110-1110-1110 입니다.

온라인으로 사용해보십시오!

어떻게?

9 9  9999 - V(9)=V(9)-V(9999)=1-1111=-1110
9         - print V(9)
9         - print V(9)
9         - print V(9)

두 공간은 하나의 공간으로 취급되며이 세 번째 공간은 모든 행의 후행 공간이 될 수 있습니다.


5

Bash + coreutils, 15 9 바이트

id;id;id;

온라인으로 사용해보십시오!

샘플 출력 :

uid=1000 gid=1000 groups=1000 context=system_u:unconfined_r:sandbox_t:s0-s0:c19,c100,c173,c211
uid=1000 gid=1000 groups=1000 context=system_u:unconfined_r:sandbox_t:s0-s0:c19,c100,c173,c211
uid=1000 gid=1000 groups=1000 context=system_u:unconfined_r:sandbox_t:s0-s0:c19,c100,c173,c211

(이를 시도하면 uid, gid 등이 3 번 인쇄됩니다.)


동일한 문자열을 3 번 반복하지 않으려면 (첫 번째 대답과 달리 모든 사람에게 동일한 출력을 가짐) bash + Unix 유틸리티에서 찾은 최고의 길이는 15 바이트입니다.

dc<<<cczdzfzfdf

이 두 번째 버전을 온라인으로 사용해보십시오!

산출:

2
0
0
3
2
0
0
3
3
2
0
0

(프로그램에는 줄 바꿈이없고 출력에는 12 줄 바꿈이 있습니다.)

이 답변의 dc 프로그램에 대한 설명 :

c Clears the stack.
Stack: (empty)

c Clears the stack.
Stack: (empty)

z Pushes the current size of the stack (0) onto the stack.
Stack: (top) 0

d Duplicates the item at the top of the stack.
Stack: (top) 0 0

z Pushes the current size of the stack (2) onto the stack.
Stack: (top) 2 0 0

f Prints the stack, top to bottom, with a newline after each item printed (this prints the first 3 lines of the output, 2 / 0 / 0 /)

z Pushes the current size of the stack (3) onto the stack.
Stack: (top) 3 2 0 0

f Prints the stack, top to bottom, with a newline after each item printed (this prints the next 4 lines of the output, 3 / 2 / 0 / 0 /)

d Duplicates the item at the top of the stack.
Stack: (top) 3 3 2 0 0

f Prints the stack, top to bottom, with a newline after each item printed (this prints the final 5 lines of the output, 3 / 3 / 2 / 0 / 0 /)

두 번째는 어떻게 작동합니까?
therealfarfetch을 (를)

@therealfarfetchd 나는 답변에 설명을 추가했습니다.
Mitchell Spector 2012

젠장, dc는 생각보다 훨씬 강력합니다. 좋은 작업!
therealfarfetch 님이

@therealfarfetchd 감사합니다. 나는 DC를 좋아한다. Btw, 방금 수정 한 설명에 두 개의 오타가있었습니다.
Mitchell Spector 2012

5

LOLCODE , 273 (240) ( 360 286) 바이트

HAI 1.2
I HAS A U
IM IN YR M UPPIN YR Q TIL BOTH SAEM Q 1
VISIBLE "Y SUB.EK"
IM OUTTA YR M
IM IN YR T UPPIN YR Q TIL BOTH SAEM Q 2
VISIBLE "Y SUB.EK"
IM OUTTA YR T
IM IN YR X UPPIN YR Q TIL BOTH SAEM Q 12
VISIBLE "IM"
IM OUTTA YR X
KTHXBYE

새 줄을 확인하고 온라인으로 시도하십시오 . 두 번째 줄은 다소 임의적이며 더 짧은 명령으로 대체 될 수 있지만 이 퍼즐에 대한 LOLCODE 를 배웠습니다 . 첫 번째 줄에 버전 번호가 필요하기 때문에 숫자를 사용하여 길이 1, 2 및 0 mod 3의 루프를 추가하여 올바른 수의 문자가 인쇄되도록했습니다. 이것으로부터 나는 단순히 (이 도구로 ) 각 캐릭터를 세었다 . 0 mod가 3 번 나타나면 아무 조치도 필요하지 않습니다. 1 mod 3 번 나타난 경우, 1- 및 2-loop에 추가되어 출력에 3 번 나타납니다. 2 mod가 3 번 나타나면 12 루프에 캐릭터가 추가 된 것입니다. 편집 : 첫 번째 교체하여VISIBLE 할당 (여전히 쓸모는 없지만 11 줄 대신 12 줄이 필요)으로 33 바이트를자를 수있었습니다.

출력 (60 바이트) :

Y SUB.EK
Y SUB.EK
Y SUB.EK
IM
IM
IM
IM
IM
IM
IM
IM
IM
IM
IM
IM

후행 줄 바꿈에 유의하십시오.

다른 답변과 비교 하여이 솔루션의 좋은 점은 출력이 다소 의미있는 텍스트를 출력하도록 쉽게 조작 할 수 있다는 것입니다. 예 (줄 바꿈이있는 286 바이트) :

HAI 1.2
I HAS A U
IM IN YR MW UPPIN YR Q TIL BOTH SAEM Q 1
VISIBLE "YO SUB. EEEEK!"
IM OUTTA YR MW
IM IN YR STA UPPIN YR Q TIL BOTH SAEM Q 2
VISIBLE "YO SUB. EEEEK!"
IM OUTTA YR STA
IM IN YR XURG UPPIN YR Q TIL BOTH SAEM Q 12
VISIBLE "IMO U R SWAG! "
IM OUTTA YR XURG
KTHXBYE

온라인으로 사용해보십시오. 출력 (후행 줄 바꿈이있는 222 바이트) :

YO SUB. EEEEK!
YO SUB. EEEEK!
YO SUB. EEEEK!
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 
IMO U R SWAG! 

슬프게도, 나는 생각했던 것처럼 아나그램에 좋지 않습니다 : ')


1
사이트에 오신 것을 환영합니다!
DJMcMayhem

@DJMcMayhem 감사합니다. 다른 게시물에서 복사 한 LOLCODE와 같은 멋진 자동 연결을 얻으려면 어떻게해야합니까? (# [language] 스타일) 소스 코드에 대한 링크가 답변에 포함되어 있습니다.
SK19

가장 쉬운 방법은 프로그램을 TIO에 넣을 때 링크 메뉴를 사용하고 "코드 골프 제출"에 대한 선택을 선택 (또는 복사)하는 것입니다. 새 게시물에 대한 템플릿을 제공합니다. 나는 당신이 거기에서 누락 된 것처럼 보이는 부분을 복사했습니다.
Ørjan Johansen 2012

5

껍질

농담 :) ( 9 바이트 )

ls;ls;ls;

더 심각하게 ( 24 바이트 )

sed s/./sed.g./g <<< edg

결과 :

sed.g.sed.g.sed.g.

5

PHP, 24 바이트

<?=111?><?=222?><?=333?>

1
이 결과는 무엇입니까? 어떻게 작동합니까?
DJMcMayhem

PHP 숏 태그를 <?즉시 echo문과 함께 사용하여 <?=123을 3 번 출력합니다.
junkfoodjunkie

<= ?>문자가 3 번의 배수로 나타나지 않기 때문에 방금 편집 한 짧은 버전은 유효 하지 않습니다.
DJMcMayhem

아, 그렇습니다. 원래 버전이 그랬던 이유가 있다는 것을 알았습니다. 요구 사항에 완전히 박탈했습니다. 다시 변경하겠습니다.
junkfoodjunkie 5


4

apt, 9 바이트

000OoOoOo

인쇄 undefinedundefinedundefined합니다. 온라인으로 테스트하십시오!

설명

이 코드는 다음 JavaScript로 변환됩니다.

000,O.o(O.o(O.o()))

O.o후행 줄 바꿈없이 무언가를 출력하는 함수입니다. 인수가 없으면 undefined버그로 간주 될 수 있지만이 경우에 유용합니다. 또한 undefined세 개의 호출이 모두 인쇄되도록 반환 합니다 undefined.

나는 이것을 할 수있는 다른 많은 방법이 있다고 확신합니다 ...


1
O_o Interesting :)
geisterfurz007

4

05AB1E , 9 바이트 (이것이 PI의 한 조각이라고 말할 수 있습니다)

Emigna / ETHProductions 덕분에 -0 바이트로 솔루션이 더 정확 해졌습니다.

žqžqžq???

대체 버전 :

ž[g-Q]ž[g-Q]ž[g-Q]???

[g-Q] -모두 일치하는 한 여기에 aQ를 넣을 수 있습니다 (아래 참조).

온라인으로 사용해보십시오!

설명 :

PI,PI,PI,SORT,JOIN,SORT,JOIN,SORT,JOIN.

결과:

...111111222333333333444555555555666777888999999999

그것이 단지 9 바이트 인 이유는 정렬이 필요하지 않기 때문에 설명을 돕기 위해 넣었습니다.

{코드에없는 결과 :

3.1415926535897933.1415926535897933.141592653589793


대체 변환 :

PI 대신 다음 명령을 사용할 수 있습니다.

ž 23  > žg       push current year
        žh       push [0-9]
        ži       push [a-zA-Z]
        žj       push [a-zA-Z0-9_]
        žk       push [z-aZ-A]
        žl       push [z-aZ-A9-0_]
        žm       push [9-0]
        žn       push [A-Za-z]
        žo       push [Z-Az-a]
        žp       push [Z-A]
        žq       push pi
        žr       push e
        žu       push ()<>[]{}
        žy       push 128
        žz       push 256
        žA       push 512
        žB       push 1024
        žC       push 2048
        žD       push 4096
        žE       push 8192
        žF       push 16384
        žG       push 32768
        žH       push 65536
        žI       push 2147483648
        žJ       push 4294967296
        žK       push [a-zA-Z0-9]
        žL       push [z-aZ-A9-0]
        žM       push aeiou
        žN       push bcdfghjklmnpqrstvwxyz
        žO       push aeiouy
        žP       push bcdfghjklmnpqrstvwxz
        žQ       push printable ASCII character set (32-128)

2
말장난을 위해 밖으로 나가십시오; 트릭하지만 하나 :) 얻기 위해
geisterfurz007

좋은 것! 나는 생각하지 않는다 žv, žw또는 žx그들 각각은 2 별개의 자리를 가지고 있지만 유효합니다.
ETHproductions

흠, 하위 문자 클래스의 요점은 무엇입니까?
ETHproductions

@ETHproductions ahhh는 잊었을 at least 3때 처음에는 PI였습니다. 캐릭터 클래스를 거꾸로 무엇을 의미합니까?
Magic Octopus Urn

1
이것은 암시 적으로 인쇄 된 줄 바꿈을 계산하지 않는 경우에만 유효합니다. 그래도 교체 JJJ하면 쉽게 해결할 수 있습니다 ???.
Emigna

4

Cubix , 12 바이트

정말 지루한 답변입니다. 3 10초 후 줄 바꿈 출력

N@N@NOoOoOo@

온라인으로 사용해보십시오! 큐브에 매핑

    N @
    N @
N O o O o O o @
. . . . . . . .
    . .
    . .

N10을 스택
Oox3 출력 10으로 푸시 하고 개행
@은 프로그램을 정지시킵니다.

초기 N@N@는 맞지 않습니다.


나는 34의 공백을 센다 : /
SK19

@ SK19 코드는 N@N@NOoOoOo@공백을 포함하고 포함하지 않습니다.
MickyT

아, 그래요, 큐브도 요구 사항을 충족하는 데 필요하다고 생각
SK19




3

Befunge 93 , 9 바이트

...,,,@@@

TIO

인쇄합니다 0 0 0(트레일 공간, 그 뒤에 3 개의 널 바이트)

Befunge의 스택은 0s로 채워져 있기 때문에 해당 값의 ASCII 문자와 정수 자체를 모두 인쇄 할 수 있습니다. Befunge는 정수 뒤에 공백을 자동으로 인쇄하므로 3 개의 고유 한 문자가 남습니다.

.인쇄 0(트레일 스페이스), ,널 바이트를 인쇄 @하고 프로그램을 종료합니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.