En sevdiğiniz kelimeyle bir kare kare yapın


47

Gelmiştir favori 6 harfli yaygın İngilizce kelime seç hiçbir harf tekrarlanan gibi wombat.

Karakter NxN kılavuzundaki bir program yazın Yorum içermeyen öyle ki her satır ve sütun herhangi bir sırada küçük harflerle Sözünün tüm harfleri içerir. Program, kelimenizin tanımını 36 veya daha fazla karakter olarak vermelidir .

kurallar

  • Stdout'a çıktı. Giriş yok.
  • Senin sözün üzerinde olmalıdır Dictionary.com ve sadece az arası içerirler. Uygun isimler yok, kısaltmalar yok, kısaltmalar yok, kasılmalar yok.
  • Programınız ve çıktılarınız yalnızca yazdırılabilir ASCII karakterleri içerebilir (onaltılık kodlar 20 ila 7E). (Bu program kılavuzundaki gerekli yeni satırları saymaz.)
  • Yorumlar, derleyici veya tercümanın geleneksel olarak görmezden geldiği herhangi bir şeydir. Çıktıya katkıda bulunmayan veya resmi olarak yürütülmeyen kodu kullanabilirsiniz.
  • Çıktı tanımı gramer ve doğru olmalı, ama kesinlikle eğlenceli ya da zekice olabilir.
  • Sözcüğünüzün en az 6 benzersiz harfini içeren küçük harfli satır veya sütunlar geçerlidir. Köşegenler önemli değil.

puanlama

Bu kod golf'dür ancak tüm başvurular aynı kare biçiminde olması gerektiğinden, puanınızı N ile belirtebilirsiniz. En düşük N kazanır ve elbette 6'nın altında bir N mümkün değildir. Bağlanma durumunda, en yüksek oyu alan cevap kazanır.

Örnek

Sözünüz wombatprogramınız gibi gözüküyorsa (N = 7):

wombatD
ombatEw
mbatFwo
bat(wom
atWwomb
tBwomba
)wombat

Her satırın ve her sütunun karakterleri olduğuna dikkat edin w o m b a t.

Çıktı olabilir: (40 karakter)

Cute short-legged Australian marsupials.

Tamam, 6 harfli bir kelime kullanarak bir ızgara oluşturmak zorundasınız, ancak daha sonra çıktısını anlamıyorum: "Sevimli kısa bacaklı Avustralya kestaneleri.".
Kuzen Kokain

@CousinCocaine Bu bir wombat açıklaması. Seçtiğiniz kelimenin gramer ve doğru bir tanımını çıkarmalısınız.
ProgramFOX

Bu kod golf olduğu için, neyin doğru olduğuna kim karar veriyor? "Şirin kısa bacaklı Avustralya kestaneleri" veya "kısa bacaklı kesimler"?
Kuzen Kokain

5
Fikir: " golfed" kelimesini ve tanımını yazınız "a description of this program's code"(bunun nasıl yapılacağını bulabilen herkes için!).
Doorknob

6
kahretsin, benim favori 6 karakter uzun kelime yok
user902383

Yanıtlar:


18

Perl - üzüm - 11

düzenleme: yanlışlıkla bu 12 satır yaptı ...

$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)

Çıktı:

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

Güncelleme!

11'e düşürmek için bir çizgiyi kaldırdım ama cümleyi değiştirmek zorunda kaldım. Umarım bu sefer hiç hata yapmadım!

$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

Çıktı:

A purple game? No, a great grape; eat

Çıktı 37 karakterdir.


Öncelikle bu küçük çıktı şiirinden hoşlanıyorum. Bir haiku değildi ayıp :)
Matt Fletcher

1
Bu 12x11 ...
Schism,

@schism vay ... Vur! Düzelteceğim. Teşekkürler!
hmatt1

Bunu kabul etmek üzeresin, ama hala 12 boyunda.
Calvin'in Hobiler

47

Javascript - eylem - 15x15

"Kesinlikle en kısa olanı değil, PEW PEW PEW." - James Bond

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 Çıkışına Link

(37 karakter):

action means PEW PEW PEW PEW PEW PEW 

İlk satırınız küçük harf a içermelidir.
Calvin'in Hobileri,

@ Calvin's Hobbies Haklısın. Onardım.
izlin

35

Befunge 93, n = 13

Bu dize "vve ile yönlendirerek çalışır >". Yan uzunluğu ve kelime uzunlukta aralarında asal olan ve yan uzunluğu artık 11. Hakkı daha büyük olduğu zaman, bu "söz" için çalışır, bu sadece çalışır vwombatnedenle, ve 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>:#,_@

çıktılar Cute short-legged Australian marsupial


25

C (kelime: "bulucu", 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}

Seçenekleri ile GCC ile derlendi -Dfinder="" -Df="" -Di="" -Dn="" -Dd="" -De="" -Dr="".

Çıkışlar it's defined as a thing that can find other things(50 karakter). Tüm kurallara uyduğuna inanıyorum, ancak herhangi bir yanlışlık olursa bana söylemekten çekinmeyin!


3
Doğru görünüyor, ancak tüm derleyici seçenekleri için deli değilim.
Calvin'in Hobileri,

1
Tabii ki, kuralları biraz eğdim burada. İlk başta birçok tanımlamaya gidiyordum, bu yüzden “finder” kelimesini seçtim (çünkü “neredeyse” ile aynı harfleri içeriyordu).
maxdefolsch

9
Makro kullanmak için iyi bir fikir değil. eğer izin verilirse, n = 6 diyebilir ve bunları aşağıdakilerle derleyebilirsiniz:"-Dfinder=main(){puts(it's defined as a thing that can find other things);}" -Dinderf=; -Dnderfi=; -Dderfin=; -Derfind=; -Dnderfi=;
bebe,

Doğru, bunu bile düşünmedim.
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 örneği GolfScript'te kodlanmıştır. Çıktı

Cute short-legged Australian marsupials.

soruda belirtildiği gibi. İlginç kısmı en kelime ve cevapları kullanmak ve bir GolfScript yerleşik olan, çok nadirdir yok gibi basitçe sürece çözelti haline gelen harfler eklemek olabilmesidir p, nbariz olanlara olma. Diğer tüm kombinasyonlar varsayılan olarak etkin olmayan geçerli GolfScript değişkenlerine yol açar.


Bu yüzden, bir kimse, kelimeden çok fazla harf kullanan zekice bir cümle ile bunu önemli ölçüde azaltabilir.
Martin Ender

@ MartinBüttner Denedim, ancak 36 karakter oldukça zor.
Howard,

Yaklaşımınızı "kare" gönderim için kullandım (aşağıya bakınız). Aslında sizinkinden daha büyük bir karakter, ancak etrafta akıllıca kaydırma yaparak onu sıkıştırmanız mümkün olabilir.
Martin Ender

18

Befunge-98 (n = 12)

Kelvin'i seçtim çünkü içinde avı vardı. çıktılarkelvin 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

ne yazık ki, Si temp36 karakterden kısa 29 karakter;;)
Martin Ender

Ne zaman Befunge-93’e ne zaman göndersem, birisi benzer bir Befunge-98 çözümünü izliyor gibi görünüyor ...
Zaq

@ Zaq merak etmeyin, -93 zaten daha eğlencelidir.
seequ

Satır 2'de ben yok.
Schism

Ayrıca, 4. satırda a k, sütun 9 da eksik e.
Schism

11

Python, n = 15

Kelime "kano" dir

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

Çıktı:

Secret weapon of the Canadian navy

Bu 16X15 olduğunu!
Schism

Teşekkürler ... bir noktada yanlış tanıdım ve canoesoradaki tek satır eklemeye gerek duydum. Sabit.
Gerrat,

10

Perl - tekrarla - 11

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

Çıktı:

repeat
repeat
repeat
repeat
...keeps going

Geriye dönüp baktığımda belki bunu bir döngü yapmalıydım.


12
Tekrarlanan harf gereksinimi olmayan kelimenin tam anlamıyla yetersiz kalmaktadır.
Howard,

3
@Howard Her satırda en az 2 tane var, ebu yüzden gönderebileceğimi düşündüm.
hmatt1

6

Ruby , hatersN = 10

Saatlerce elle yapılan denemelerden, bir jeneratör programından ve ince ayar parametrelerinden sonra nihayet N = 10 için bir çözüm buldum!

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

Çıktılar Haters nurse hate in hardest hearts., tam olarak 36 karakter. Çevrimiçi deneyin!

Ruby'yi seçtim çünkü değişkenleri gerekmiyor $( Perl ) ve tek tırnaklı dizeler yeni satırlar içerebilir ( Python ). Bu tryöntemin benim kelimemin iki harfini kullanması beklenmedik bir bonus oldu. Programın özü basittir:

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

Bütün mektupları sıraya sokmak elbette basit değildi . Aynı yapı üzerinde çeşitli varyasyonlardan geçtim ve bu süreçte Ruby hakkında birkaç şey öğrendim ( trparantez gerektirmez ve ?\sbaşka bir alan bulmanın yoludur). Birçok çıkmaz ve birkaç yanlış pozitif vardı. Ve sonra ... başarı!

İşte özü var benim kesmek-biraraya jeneratör programının, herkes en ilgi.


5

Golf Betiği (n = 10)

Benim ilk golf senaryom! Yazdırırkelvin 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" ne anlama geliyor?
aditsu

1
dictionary.com düşük olabileceğini söylüyor
waylon531 15

Bu sadece şu anlama gelir, anlamı: yakmak; güçlü duyguları hissetmek için (bir kimsenin yangını); heyecanla parlıyor. Bunun nasıl çalıştığını anlamadım.
aditsu

Sayfanın sağ üstündeki alıntıya bak
waylon531

1
Üzgünüm, ama "lowe" biraz fazla belirsiz. Bunu "düşük" veya "düşük" yapabilirseniz kabul edeceğim.
Calvin'in Hobileri

5

GolfScript, 13x13

En küçüğü değil ...

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..."

... ama ...

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

(Kelimelerin içinde satır sonları olması kasıtlıdır, çünkü aksi takdirde daha az kare gibi görünen beyaz boşluklara öncülük edebilir ya da iz bırakabilirim.)


4

Python, N = 11

Kelime "ebeveyn" dir. Bu kod hoş değil ama işe yarıyor.

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

Çıktı: parent: a person that made a person

Düzenleme: Her nasılsa, sütunların da sözcüğü içermesi gerektiği gerçeğini kaçırdım. Geçmişe bakıldığında, dilin bir parçası olarak bitiş çizgisi karakterleri içeren bir dil bu bilmeceye uygun değildi.


4
Güzel, ama her sütun kelimesini içermiyor parent. Örneğin, bir ilki yok a.
ProgramFOX

2
Hala bir demet eksik. p6 ve 8'de eksik 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.
Schism,

2

bip , n = 14 (rekabetçi olmayan)

Dil, sorudan daha yeni. Kelime 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"  :)

Aşağıdaki (kuşkusuz eksik) tanımı çıkarır:

hangi baskılar, hangi baskılar, baskılar, baskılar, baskılar, baskılar, baskılar, baskılar, baskılar, baskılar, baskılar, baskılar, baskılar hangi baskılar, baskılar baskılar, baskılar baskılar, baskılar baskılar

Çevrimiçi deneyin!

Kodun anlamlı kısmı şöyle çalışır:

++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"

Kodun geri kalanı isteğe bağlı no-ops'tur. "Doldurma" bölümlerindeki ana zorluk hiçbir zaman değerlendirme yapmak değildi q, çünkü kullanıcıyı bir girdi satırı isteyecektir (TIO'da bir sorun değil, ama tüm ortamlarda doğru yapmak istedim). Kısa devre yapan mantık operatörlerini |ve &ve üçlüsünü değerlendirmesini ?önlemek için kullandım q.

1 Google'da alt kısımdaki programlama anlamında bir bölümü olan bir giriş sırası vardır . "Quine" sayılabilir bir isim olduğundan, "quines" in geçerli bir kelime olduğunu iddia ediyorum.


1

Javascript, N = 8

Benim kelime uyarıları .

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

Kodum, javascript uyarı işlevinin tanımını birden çok kez çıktılar. Javascript'in uyarı tanımı "function alert () {[native code]}" şeklindedir.

Sadece ilk üç kod satırı aslında çıktıya katkıda bulunur. Son 5 satır sözdizimi hatalarıdır ancak orijinal kurallar, çıktı doğru olduğu sürece tüm kodun yürütülmesi gerekmediğini belirtmiştir.

İşte keman için bir link: http://jsfiddle.net/tze76pum/


1
Güzel, ama pek yaygın İngilizce değil.
Calvin'in Hobileri
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.