좋아하는 단어로 코드 사각형 만들기


47

와 같이 반복되는 문자없는 좋아하는 6 개의 문자 영어 단어를 선택하십시오 wombat.

각 행과 열에 모든 순서대로 단어의 모든 문자가 포함 되도록 주석없이 N × N 문자 그리드로 프로그램을 작성 하십시오. 프로그램은 단어의 정의를 36 자 이상으로 출력해야합니다 .

규칙

  • 표준 출력으로 출력합니다. 입력이 없습니다.
  • 귀하의 단어는 Dictionary.com에 있어야하며 az 만 포함 해야합니다 . 적절한 명사, 머리 글자, 약어, 수축이 없습니다.
  • 프로그램 및 출력에는 인쇄 가능한 ASCII 문자 (16 진 코드 20-7E) 만 포함될 수 있습니다 . (이것은 프로그램 그리드에서 필요한 줄 바꿈을 계산하지 않습니다.)
  • 주석은 컴파일러 나 인터프리터가 전통적으로 무시하는 것입니다. 출력에 기여하지 않거나 공식적으로 실행되지 않는 코드를 사용할 수 있습니다.
  • 출력 정의는 문법적이고 정확해야하지만 재미 있거나 영리 할 수 ​​있습니다.
  • 소문자로 된 단어의 고유 한 6 자 이상을 포함하는 모든 행 또는 열이 유효합니다. 대각선은 중요하지 않습니다.

채점

이것은 코드 골프이지만 모든 제출물은 동일한 정사각형 형식이어야하므로 N으로 점수를 지정할 수 있습니다. 최저 N 승, 물론 N 미만 6은 불가능합니다. 동맹 인 경우 가장 높은 투표 응답이 이깁니다.

단어가 wombat프로그램 이라면 다음과 같이 보일 수 있습니다 (N = 7).

wombatD
ombatEw
mbatFwo
bat(wom
atWwomb
tBwomba
)wombat

것을 알 모든 행 과 모든 열이 문자가 있습니다 w o m b a t.

출력은 다음과 같습니다. (40 개의 문자)

Cute short-legged Australian marsupials.

좋아, 당신은 6 글자 단어를 사용하여 그리드를 만들어야하지만, 출력 : "짧은 다리가 귀여운 호주 유대류"를 이해하지 못합니다.
CousinCocaine

@CousinCocaine 웜뱃에 대한 설명입니다. 선택한 단어에 대한 문법적이고 정확한 설명을 출력해야합니다.
ProgramFOX

이것이 코드 골프이기 때문에 누가 올바른 것을 결정합니까? "귀여운 짧은 다리 유대류"또는 "짧은 다리 유대류"?
CousinCocaine

5
아이디어 : 단어 " golfed"및 정의 "a description of this program's code"(이 작업을 수행하는 방법을 알아낼 수있는 모든 사람을위한 것)로 지정하십시오.
손잡이

6
젠장, 난 좋아하는 6 문자 긴 단어가 없습니다
user902383

답변:


18

펄-포도-11

편집 : 실수 로이 12 줄을 만들었습니다 ...

$epagsr=$";
$,=$epagsr;
/gaerp/;say
grep!/a*s/,
qw(A searpg
purple sgar
rpssg pear?
No, a sgerp
s great pse
as grape; s
eat prgpsga
up! sgarse)

산출:

A purple pear? No, a great grape; eat up!

최신 정보!

11 줄까지 줄을 제거했지만 문장을 변경해야했습니다. 잘만되면 나는 이번에 어떤 실수도하지 않았다!

$gpasre=$";
$,=$gpasre;
/paerg/;say
grep!/a*s/,
qw(A sgrpea
purple sarg
ressp game?
No, a rgspe
s great gsp
as grape; s
eat),$spegr

산출:

A purple game? No, a great grape; eat

출력은 37 자입니다.


나는 주로 작은 출력시 때문에 이것을 좋아합니다. 부끄러운 그것은 하이쿠 :) 아니었다
매트 플레처

1
이것은 12x11입니다 ...
Schism

@schism 와우 ... 쏴! 내가 고칠 게 감사!
hmatt1

이것을 받아들이려고하지만 여전히 키는 12입니다.
Calvin 's Hobbies

47

자바 스크립트-액션-15x15

"정말로 가장 짧은 것이 아니라 PEW PEW PEW." - 제임스 본드

ction="action "
ction+="means "
actionac="PEW "
ctionact="PEW "
tionacti="PEW "
ionactio="PEW "
onaction="PEW "
nactiona="PEW "
ction+=actionac
ction+=ctionact
ction+=tionacti
ction+=ionactio
ction+=onaction
ction+=nactiona
alert(""+ction)

jsfiddle

출력 (37 자)에 연결하십시오.

action means PEW PEW PEW PEW PEW PEW 

첫 번째 행에는 소문자 a가 포함되어야합니다.
Calvin 's Hobbies

@ Calvin'sHobbies 당신이 맞아요. 나는 그것을 고쳤다.
izlin

35

베 펀지 93, n = 13

문자열을 "vand 로 리디렉션하여 작동합니다 >". 이것은 측면 길이와 단어 길이가 공통 길이이고 측면 길이가 11보다 큰 경우에만 작동합니다. 지금은 "word"에 대해 작동 vwombat합니다 wombat.

"laip"vwombat
wombat>"usr"v
"am "vwombat>
ombat>"nai"vw
lar"vwombat>"
mbat>"tsu"vwo
 d"vwombat>"A
bat>"egg"vwom
-"vwombat>"el
at>"tro"vwomb
"vwombat>"hs 
t>"tuC"vwomba
vwombat>:#,_@

출력 Cute short-legged Australian marsupial


25

C (워드 : "파인더", N = 16)

main() finder{ f
printf(finder  i
"it's defined "r
"as a t"finder d
"hing t"finder e
"hat ca"finder r
"n find other t"
"hings" finder);
finder finder f\
inder finder fi\
nder finder fin\
der finder find\
er finder finde\
r finder finder
 finder finder n
return 0;finder}

옵션을 사용하여 GCC로 컴파일했습니다 -Dfinder="" -Df="" -Di="" -Dn="" -Dd="" -De="" -Dr="".

출력합니다 it's defined as a thing that can find other things(50 자). 나는 그것이 모든 규칙을 따른다고 믿지만, 실수가 있으면 자유롭게 말해주십시오!


3
모든 컴파일러 옵션에 열광하지는 않지만 올바르게 보입니다.
Calvin 's Hobbies

1
물론, 나는 여기서 규칙을 약간 구부 렸습니다. 처음에는 많은 정의를하려고했기 때문에 "파인더"라는 단어를 선택했습니다 ( "정의"와 거의 같은 문자가 포함되어 있기 때문에).
maxdefolsch

9
매크로를 사용하는 것은 좋지 않습니다. 허용되는 경우 n = 6이라고 말하고 다음과 같이 컴파일 할 수 있습니다."-Dfinder=main(){puts(it's defined as a thing that can find other things);}" -Dinderf=; -Dnderfi=; -Dderfin=; -Derfind=; -Dnderfi=;
bebe

그렇습니다, 나는 그것을 생각조차하지 않았습니다.
maxdefolsch

21

GolfScript, N = 12

wombat"Cute"
ombat" sho"w
mbat"rt-l"wo
bat"egge"wom
at"d Au"womb
twomb"stra"a
wom"lian "bt
ttwomb"mar"t
"sup"wbwomat
"ia"womabbtt
"ls"bawomtbt
aaawomobt"."

골프 스크립트로 인코딩 된 웜뱃 예제. 출력

Cute short-legged Australian marsupials.

질문에 주어진대로. 흥미로운 부분은 대부분의 단어와 답변을 사용하고 당신이 GolfScript 내장 된 매우 드문 생성하지 않는 한 단순히 길이로 용액에 해당하는 문자를 삽입 할 수 있다는 것입니다 p, n명백한 것들에있는. 다른 모든 조합은 기본적으로 유효하지 않은 유효한 GolfScript 변수로 이어집니다.


그래서 나는 단어의 많은 글자를 사용하는 영리한 문구로 이것을 크게 줄일 수 있다고 생각합니다.
Martin Ender

@ MartinBüttner 시도했지만 36 자로 인해 상당히 어려워졌습니다.
Howard

"제곱"제출에 귀하의 접근 방식을 사용했습니다 (아래 참조). 실제로 당신보다 한 문자가 크지 만, 영리한 변화가 있으면 압축 할 수 있습니다.
Martin Ender

18

베 펀지 -98 (n = 12)

AV가 있었기 때문에 켈빈을 선택했습니다. 출력kelvin is like celsius but it's lowe

"ewol "vnlik 
"t's"ke<ilnv 
kelniv"t i"< 
elnik>"ub "v 
nkv"elsius"< 
ln>"c eki"vl 
v0ke"is l"<n 
>" nivlek" v 
ielnv,k4'k#< 
 vivlevlnek< 
 ilkkninevei 
  elnkn vnle

안타깝게도, Si temp29 자 (36 자 ) 는 29 자입니다.;)
Martin Ender

내가 Befunge-93에 게시 할 때마다 누군가 비슷한 Befunge-98 솔루션을 따르는 것 같습니다.
Zaq

@Zaq은 걱정하지 않아도됩니다. -93은 더 재미 있습니다.
seequ

2 호선에는 i가 없습니다.
Schism

또한 4 행에 a가 k없고 9 열에 a 가 없습니다 e.
Schism

11

파이썬, n = 15

단어는 "카누"

def canoe(s='S\
ecret weap',sno
='ce',a='ons o\
f the Can',oces
=1,oesn=1,c='a\
dian navy',cose
="""aoenscanaen
canceessanoeeca
anoasanooscanoe
noescccccaeescc
oescneocaeoesca
escaoescan"""):
 canoes=s + a+c
 print (canoes)
s=1;    canoe()

산출:

Secret weapon of the Canadian navy

이것은 16x15입니다!
분열

고마워 ... 어떤 시점에서 나는 잘못 계산하고 canoes거기에 그 한 줄을 추가 할 필요성을 느꼈다 . 결정된.
Gerrat

10

펄-반복-11

$repeat=qq(
repeat);say
"repeat\n"x
length'pear
repeatrepea
epeatrepeat
peatrepeatr
eatrepeatre
atrepeatrep
trepeatrepe
repeat....'

산출:

repeat
repeat
repeat
repeat
...keeps going

되돌아 보면 이걸 루프로 만들었을 것입니다.


12
의 폭포 짧은 없는 문자 반복 한 단어 요구 사항을.
Howard

3
@Howard e줄 당 적어도 2 개가 있으므로 게시 할 수도 있다고 생각했습니다.
hmatt1

6

루비 ,, hatersN = 10

몇 시간 동안 직접 시도하고 생성기 프로그램을 작성하고 매개 변수를 조정 한 후 마침내 N = 10에 대한 해결책을 찾았습니다!

aser=ts=?h
tah=re=?\s
sh='Haters
nurse hate
in hardest
hearts.'  
rtse=erha=
era=sh.tr'
',tah;aser
 puts erha

Haters nurse hate in hardest hearts.정확히 36 문자를 출력 합니다. 온라인으로 사용해보십시오!

변수가 필요하지 않기 때문에 Ruby를 선택했고 $( Perl ) 작은 따옴표로 묶인 문자열에는 줄 바꿈 ( Python )이 포함될 수 있습니다 . 이 tr방법이 내 단어 글자 중 두 개를 사용 한다는 사실 은 예상치 못한 보너스였습니다. 프로그램의 핵심은 간단합니다.

# Store the definition, with newlines
sh='Haters
nurse hate
in hardest
hearts.'
# Transliterate newline to space
erha=sh.tr('
',' ')
# Output
puts erha

물론 모든 문자를 정렬하는 것은 간단 하지 않았습니다 . 나는 동일한 구조에서 몇 가지 변형을 겪었고 프로세스에서 Ruby에 대해 몇 가지를 배웠습니다 ( tr괄호가 필요하지 않으며 ?\s공간을 얻는 또 다른 방법입니다). 많은 막 다른 골목과 여러 가지 오탐이있었습니다. 그리고 ... 성공!

누군가 관심이 있다면 해킹 된 발전기 프로그램 의 요지 가 있습니다.


5

골프 스크립트 (n = 10)

내 첫 골프 스크립트! 인쇄kelvin is like celsius but it's lowe

"kelvin is
like ce"vn
evn"lsiu"k
k"s "elvni
in"bu"kelv
"t "knviel
vl"it'"nke
nevkil"s l
o"ivnkel"w
e"lnevik

"낮음"은 무엇을 의미합니까?
aditsu

1
dictionary.com에 따르면 낮을 수 있습니다
waylon531

그것은 동사만을 의미합니다. 강한 감정을 느끼기 위해 (사람의) 불꽃; 흥분으로 빛납니다. 어떻게 작동하는지 모르겠습니다.
aditsu

페이지 오른쪽 상단의 인용문을보십시오
waylon531

1
죄송하지만 "낮음"은 너무 모호합니다. "낮게"또는 "낮게"할 수 있으면 이것을 수락하겠습니다.
Calvin 's Hobbies

5

GolfScript, 13x13

가장 작지 않은 ...

squae"A squar
"uarsquaresqu
uareq"e has f
"resuaresquar
resqa"our equ
"squresquares
quars"al side
"arequaresqua
areuq"s and r
"esqaresquare
esqur"ight an
"quaesquaresq
quar"gles..."

... 하지만 ...

A squar
e has f
our equ
al side
s and r
ight an
gles...

(단어에서 줄 바꿈을하는 것은 의도적입니다. 그렇지 않으면 사각형보다 앞뒤 공백이 생길 수 있기 때문입니다.)


4

파이썬, N = 11

단어는 "부모"입니다. 이 코드는 예쁘지 않지만 작동합니다.

eprnt=" a "
at="person"
rnep="that"
nrpt="made"
ea= " prnt"
e="parent:"
pa =(eprnt+
at+" "+rnep
+ea[0]+nrpt
+ eprnt+at)
print(e+pa)

산출: parent: a person that made a person

편집 : 어떻게 든 열에 단어가 포함되어야한다는 사실을 놓쳤습니다. 돌이켜 보면, 말줄 문자를 언어의 일부로 포함하는 언어는이 퍼즐에 적합하지 않았습니다.


4
멋지지만 모든 열에 단어가 포함되어있는 것은 아닙니다 parent. 예를 들어 첫 번째는 a.
ProgramFOX

2
여전히 무리가 없습니다. p도 6 및도 8에 누락 a11, 4, 6, 7 : r4, 10, 11 e: 4, 5, 8, 9, 11 n: 3, 5, 7, 11 t: 1, 3, 6, 8.
Schism

2

, n = 14 (비경쟁)

언어는 질문보다 새로운 것입니다. 단어는 quines입니다. 1

n_n|quine say&
qu ines     qi
as  harle quin
se?(equins)ns.
 plums|quinces
|quicken bus++
iness|q++++i u
u:++ingl es?eq
ni*:u; s|qe:",
which "Rns|que
eRL:i|quotesne
PUsn    quiet!
u|qe."print".s
JW"quines"  :)

다음과 같은 (정확히 불완전한) 정의를 출력합니다.

quines 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, 인쇄 quines, quines 인쇄, quines 인쇄, quines 인쇄, quines 인쇄

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

코드의 의미있는 부분은 다음과 같이 실행됩니다.

++i          Increment i (initially set to 0)
++++i        Increment i twice
u:++i        Increment i again and assign to u (i & u are now 4)
i*:u         Multiply i by u in-place (i is now 16)
e:",         Assign the string ",\nwhich " to e...
which "Rns   after replacing the newline with a space
eRL:i        Make a list of 16 copies of e and assign back to e
ePUs         Push a space to the front of list e
e."print".s  Concatenate "print" and a space to each element of e...
JW"quines"   and join on "quines", wrapping the result in "quines"

나머지 코드는 임의의 작업이 아닙니다. "filler"섹션의 주된 어려움은 평가할 수 없었습니다 q. 사용자에게 입력 줄을 묻습니다 (TIO에서는 문제가되지 않지만 모든 환경에서 올바르게 설정하고 싶었습니다). 나는 단락 논리 연산자를 사용 |하고 &, 그리고 원을 ?방지하기 위해 q의 평가.

1 Dictionary.com에는 quine 항목이 있으며 하단에 프로그래밍 의미에 대한 섹션이 있습니다. "퀸"은 셀 수있는 명사이므로 "퀸"은 유효한 단어라고 주장합니다.


1

자바 스크립트, N = 8

내 말은 경고 입니다.

s= alert
alert(s+
s+alert)
aaltrsee
leraatts
ertsalar
rtsaaela
tsaesarl

내 코드는 자바 스크립트 경고 기능의 정의를 여러 번 출력합니다. Javascript의 경고 정의는 "function alert () {[native code]}"입니다.

처음 세 줄의 코드 만 실제로 출력에 기여합니다. 마지막 5 줄은 구문 오류이지만 원래 규칙에 따르면 출력이 올바른 한 모든 코드를 실행해야하는 것은 아닙니다.

바이올린에 대한 링크는 다음과 같습니다. http://jsfiddle.net/tze76pum/


1
훌륭하지만 일반적인 영어는 아닙니다.
Calvin 's Hobbies
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.