ทำตารางรหัสด้วยคำที่คุณชื่นชอบ


47

เลือก 6 ตัวอักษรที่พบบ่อยคำภาษาอังกฤษที่คุณชื่นชอบที่ได้ไม่มีตัวอักษรซ้ำwombatเช่น

เขียนโปรแกรมในตาราง N × N ของตัวละครโดยไม่มีความคิดเห็นเช่นว่าแต่ละแถวและคอลัมน์มีตัวอักษรทั้งหมดของคำของคุณในตัวพิมพ์เล็กในลำดับใด ๆ โปรแกรมต้องส่งออกความหมายของคำพูดของคุณใน 36 ตัวอักษรหรือมากกว่า

กฎระเบียบ

  • ส่งออกไปยัง stdout ไม่มีอินพุต
  • คำของคุณจะต้องอยู่ในDictionary.comและมีเพียง az ไม่มีคำนามที่เหมาะสมไม่มีคำย่อไม่มีตัวย่อไม่มีการย่อ
  • โปรแกรมและผลลัพธ์ของคุณอาจมีอักขระ ASCII ที่พิมพ์ได้เท่านั้น(รหัสฐานสิบหก 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"(สำหรับทุกคนที่สามารถหาวิธีการทำสิ่งนี้!)
Doorknob

6
แช่งฉันไม่ได้มีคำพูดยาว 6 ตัวอักษรที่ชื่นชอบ
user902383

คำตอบ:


18

Perl - องุ่น - 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!

Update!

ฉันตัดแถวเพื่อให้ได้ 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 ตัวอักษร


ฉันชอบอันนี้เป็นหลักเพราะบทกวีเอาท์พุทน้อย น่าเสียดายที่มันไม่ใช่ไฮกุ :)
Matt Fletcher

1
นี่คือ 12x11 ...
แตกแยก

@ schism ว้าว ... ยิง! ฉันจะแก้ไข ขอบคุณ!
hmatt1

กำลังจะยอมรับเรื่องนี้ แต่ก็ยังสูง 12
งานอดิเรกของ Calvin

47

Javascript - action - 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 

แถวแรกของคุณควรมีตัวพิมพ์เล็ก
งานอดิเรกของ Calvin

@ Calvin'sHobbies คุณพูดถูก ฉันซ่อมมัน.
izlin

35

Befunge 93, n = 13

นี้ทำงานโดยการเปลี่ยนเส้นทางสตริงด้วยและ"v >"นี้จะทำงานเฉพาะเมื่อทางด้านความยาวและคำที่มีความยาวเป็น coprime และเมื่อด้านความยาวมากกว่า 11 ตอนนี้ก็ทำงานให้กับ "คำว่า" และดังนั้นสำหรับ vwombatwombat

"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 (คำ: "finder", 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

1
แน่นอนฉันก้มกฎเล็กน้อยที่นี่ ตอนแรกฉันไปเพื่อกำหนดจำนวนมากนั่นคือเหตุผลที่ฉันเลือกคำว่า "finder" (เนื่องจากมีตัวอักษรเกือบเหมือนกันกับ "define")
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"."

ตัวอย่าง wombat เข้ารหัสใน GolfScript ผลผลิตคือ

Cute short-legged Australian marsupials.

ตามที่ระบุในคำถาม ส่วนที่น่าสนใจคือการที่คุณอาจจะใช้คำพูดมากที่สุดและคำตอบและเพียงแค่ใส่ตัวอักษรที่สอดคล้องกันในการแก้ปัญหาตราบใดที่คุณไม่ได้ผลิต GolfScript ในตัวซึ่งเป็นของหายากมากp, nเป็นกับคนที่เห็นได้ชัด ชุดค่าผสมอื่น ๆ ทั้งหมดนำไปสู่ตัวแปร GolfScript ที่ถูกต้องซึ่งไม่มีค่าเริ่มต้น


ดังนั้นฉันจึงคิดว่าจะสามารถลดสิ่งนี้ลงอย่างมากด้วยวลีที่ฉลาดซึ่งใช้ตัวอักษรจำนวนมากจากคำว่า
Martin Ender

@ MartinBüttnerฉันลองใช้แล้ว แต่ตัวละครทั้ง 36 ตัวมันค่อนข้างยาก
Howard

ฉันใช้วิธีการของคุณสำหรับการส่ง "สแควร์" (ดูด้านล่าง) จริงๆแล้วมันคือตัวละครตัวหนึ่งที่ใหญ่กว่าของคุณ แต่ด้วยการขยับที่ฉลาดรอบตัวมันอาจจะบีบอัดมันได้
Martin Ender

18

Befunge-98 (n = 12)

ฉันเลือกเคลวินเพราะมันอยู่ในนั้น เอาท์พุท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 tempมี 29 ตัวอักษรจาก 36. )
Martin Ender

ดูเหมือนว่าเมื่อใดก็ตามที่ฉันโพสต์ใน Befunge-93 มีใครบางคนติดตามด้วยโซลูชั่น Befunge-98 ที่คล้ายกัน ...
Zaq

@Zaq ไม่ต้องกังวล -93 สนุกกว่ากันอีกแล้ว
seequ

บรรทัดที่ 2 ไม่มี i
Schism

นอกจากนี้สาย 4 หายไปkและคอลัมน์ 9 eหายไป
Schism

11

Python, 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

Perl - ทำซ้ำ - 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 มีอย่างน้อย 2 eต่อบรรทัด แต่ฉันคิดว่าฉันอาจโพสต์ได้เช่นกัน
hmatt1

6

Ruby ,, 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

แน่นอนว่าการทำให้ตัวอักษรทั้งหมดเข้าแถวนั้นไม่ใช่เรื่องง่าย ฉันเดินผ่านหลายรูปแบบในโครงสร้างเดียวกันและได้เรียนรู้สิ่งที่สองเกี่ยวกับทับทิมในกระบวนการ ( trไม่จำเป็นต้องวงเล็บและ?\sเป็นวิธีการที่ได้รับพื้นที่อื่น) มีจุดจบจำนวนมากและผลบวกที่ผิดหลายอย่าง และจากนั้น ... ความสำเร็จ!

นี่คือส่วนสำคัญของโปรแกรมตัวสร้างที่แฮ็กเข้าด้วยกันของฉันหากใครสนใจ


5

Golfscript (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

"lowe" หมายถึงอะไร
aditsu

1
dictionary.com บอกว่ามันอาจหมายถึงต่ำ
waylon531

นั่นหมายถึงคำกริยาหมายถึง: การเผาไหม้; เปลวไฟ / (จากคน) ที่จะรู้สึกอารมณ์รุนแรง เรืองแสงด้วยความตื่นเต้น ฉันไม่เห็นวิธีการทำงานที่นี่
aditsu

ดูคำพูดที่มุมบนขวาของหน้า
waylon531

1
ขออภัย แต่ "lowe" นั้นค่อนข้างคลุมเครือเกินไป ฉันจะยอมรับสิ่งนี้หากคุณสามารถทำให้ "ต่ำ" หรือ "ต่ำกว่า"
งานอดิเรกของ Calvin

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

Python, N = 11

Word คือ "parent" รหัสนี้ไม่สวย แต่ใช้งานได้

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 a: 4, 6, 7, 11. r: 4, 10, 11. e: 4, 5, 8, 9, 11. n: 3, 5, 7, 11. t: 1, 3, 6, 8.
แตกแยก

2

Pip , 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"

ส่วนที่เหลือของรหัสคือไม่มีการเลือกโดยพลการ ปัญหาหลักในส่วน "ฟิลเลอร์" ไม่เคยถูกประเมินqเนื่องจากมันจะแจ้งให้ผู้ใช้รับสายอินพุต (ไม่ใช่ปัญหาของ TIO แต่ฉันต้องการแก้ไขให้ถูกต้องในทุกสภาพแวดล้อม) ฉันใช้ตัวดำเนินการลอจิกลัดวงจร|และ&และสาม?ส่วนเพื่อป้องกันqการประเมินผล

1 Dictionary.com มีรายการสำหรับquineโดยมีส่วนที่เกี่ยวกับความหมายของการเขียนโปรแกรมที่ด้านล่าง เนื่องจาก "quine" เป็นคำนามนับได้ฉันจะโต้แย้งว่า "quines" เป็นคำที่ถูกต้อง


1

Javascript, 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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.