สุนัขจิ้งจอกที่เร็วที่สุดในภาคตะวันออก


15

ด้วยจิตวิญญาณของสวัสดีชาวโลก! โดยไม่มีการซ้ำซ้อน

เขียนโปรแกรมที่พิมพ์สตริง "จิ้งจอกสีน้ำตาลอย่างรวดเร็วกระโดดข้ามสุนัขขี้เกียจ" ด้วยการขึ้นบรรทัดใหม่ โปรแกรมทั้งหมดจะต้องไม่ทำซ้ำตัวอักษรใด ๆ

โปรดทราบว่าสตริงที่จะพิมพ์นั้นเป็นอักขระซ้ำดังนั้นคุณจะต้องหลีกเลี่ยงข้อ จำกัด ดังกล่าว

โปรดทราบว่าเงื่อนไขการชนะคือเช่นคำตอบที่ได้รับคะแนนสูงสุดจะชนะ

อัปเดต: เพื่อให้ง่ายขึ้นอีกนิดอนุญาตให้ทำซ้ำได้ แต่คุณต้องพยายามย่อให้เล็กที่สุด โปรแกรมที่มีการทำซ้ำน้อย (หรือไม่) จะได้รับความสำคัญเหนือกว่าโปรแกรมที่มีการทำซ้ำบางส่วน


ฉันกลัวว่านี่อาจจะยากเกินไปถ้าไม่เป็นไปไม่ได้เลย Hello world!โดยไม่มีการซ้ำซ้อนนั้นยากพอที่ผู้คนจะต้องใช้ภาษาที่เฉพาะเจาะจงมาก ๆ หรือไม่สามารถแก้ไขงานได้อย่างสมบูรณ์เลย
FireFly

3
แน่นอนว่าเป็นไปไม่ได้ใน C คุณไม่สามารถเรียกใช้ฟังก์ชันหรือใช้แมโครได้
Oberon

ผมขอแนะนำให้: พิมพ์สตริงที่กำหนดด้วยตัวละครซ้ำน้อยที่สุด
Primo

@FireFly ใช้เวลาไม่นานที่จะมีคำตอบ :)
SirDarius

3
@tmartin ไม่มันไม่ใช่ คำถามที่เชื่อมโยงนั้นสนับสนุนการทำซ้ำในขณะที่คำถามปัจจุบันลงโทษ
gerrit

คำตอบ:


32

Microsoft Word จาก 97 ถึง 2003 (และ Mac Word บางรุ่น) - 10 ตัวอักษร

ไม่มีการทำซ้ำ แต่ไม่ตรงกับข้อกำหนด - 10 ตัวอักษร:

=rand(2,1)

เอาท์พุท:

The quick brown fox jumps over the lazy dog.
The quick brown fox jumps over the lazy dog.

ตรงกับรายละเอียดนอกเหนือจากตัวพิมพ์ใหญ่และเครื่องหมายวรรคตอนการทำซ้ำหนึ่ง - 10 ตัวอักษร:

=rand(1,1)

เอาท์พุท:

The quick brown fox jumps over the lazy dog.

รุ่นใหม่ของการใช้งานโปรแกรม Microsoft Word =rand.old(1,1)ที่ซ้ำกันและd1

อาจมีวิธีใช้ฟิลด์{=SUM(3,-2)}เป็นอินพุตเพื่อ rand () แต่การติดตั้งของฉันกำลังมีปัญหากับฟิลด์ - กล่าวคือพวกเขาไม่ทำงาน ...

"Bob" ได้รับการยืนยันว่า{=SUM(3,-2)}(ด้วยความยากลำบากบางอย่าง) สามารถใช้เพื่อแทนที่อันแรก1แต่=จะทำซ้ำ ...

=rand({=SUM(3,-2)},1)

ให้คุณได้รับ Word เพื่ออัปเดตSUMก่อนผลลัพธ์คือ:

The quick brown fox jumps over the lazy dog.

ฉันไม่แน่ใจว่าไวยากรณ์ที่กำหนดนั้นถูกต้อง แต่ฉันไม่มีระบบที่เก่าแก่ที่จะทำการทดสอบ สำหรับรุ่นใหม่ =rand.old(1,1)แต่มันควรจะเป็น ฉันคิดว่าคุณกำลังพยายามใช้ 3-2 เพื่อแทนที่ 1 แรก แต่ดูเหมือนจะไม่ทำงานสำหรับฉันในปี 2010 ด้วย rand.old หรือ rand
Iszi

ฉันไม่มีระบบที่นี่เช่นกันจะตรวจสอบเมื่อฉันกลับถึงบ้าน อาจต้องใช้เครื่องมือจัดฟัน{ ... }เป็นตัวคั่น แต่ฉันค่อนข้างมั่นใจว่าสามารถใช้นิพจน์ในฟังก์ชันใดก็ได้ ถ้าไม่ฉันจะแก้ไข!

2
ฉันสามารถยืนยัน{=SUM(3,-2)}งานใน Word 2007 ได้ แต่วิธีการนั้นค่อนข้างซับซ้อน ก่อนอื่นคุณต้องแทรกรหัสฟิลด์ (Ctrl + F9) จากนั้นคลิกขวา => แก้ไขฟิลด์ => สูตร => ขั้นสูง => พิมพ์ในสูตร เพราะการพิมพ์โดยตรงไม่สามารถใช้งานได้ไม่ว่าด้วยเหตุผลใด ตอนนี้คลิกในฟิลด์และประเมินด้วย Shift + F9 และเพิ่ม=rand.old()
Bob

จำเป็น=SUMหรือไม่ที่จะใช้หรืออาจใช้ตัวดำเนินการทางคณิตศาสตร์โดยตรงก็ได้3-2?
supercat

@supercat - เราได้ลองแล้วและด้วยเหตุผลบางอย่าง Word ไม่ยอมรับการแสดงออกเป็นพารามิเตอร์ของ=rand()เช่น=rand(3-2,1)จะสมบูรณ์แบบ ที่จริงผมไม่ได้ลองแต่มันควรจะทำงานในลักษณะเดียวกันกับการซ้ำซ้อนของ=rand({=3-2},1) =

17

Sclipting - 36 ตัวอักษร

덆둥긇굵늖꽫긆깲닷덮긂롦닲롸껂걪덖륰댲걯덦넬댢건늆넠닆굺뎒걤닶댬首坼

(คาดว่าอินพุตว่าง)

คำอธิบาย:

Push the string "the quick brown ,fo,x, jumps ove,r the lazy dog,"
덆둥긇굵늖꽫긆깲닷덮긂롦닲롸껂걪덖륰댲걯덦넬댢건늆넠닆굺뎒걤닶댬
Retrieve last character from the string (",")
首
Regular expression string-split
坼

ผลลัพธ์คือรายการ["the quick brown ", "fo", "x", " jumps ove", "r the lazy dog", ""]ซึ่งถูกต่อกันเป็นสตริงเดียวโดยอัตโนมัติเพื่อเอาท์พุท


1
ฉันนับ 105 ไบต์ไม่ต้องพูดถึงซ้ำหลายครั้ง ตัวอย่างเช่นChar 235ใช้ 20 ครั้ง
primo

11
"ต้องไม่ทำซ้ำอักขระใด ๆ" ไม่ใช่ "ต้องไม่ทำซ้ำอักขระใด ๆ "
พลูโตร์

3
ฉันไม่แปลกใจที่ Timwi ภาษาของคุณจะสมบูรณ์แบบสำหรับความท้าทาย "ไม่มีตัวอักษรซ้ำ ๆ "
Pierre Arlaud

13

Perl 6 (76 ตัวอักษรไม่มีคู่)

สคริปต์ (จะถูกจัดการโดยซอฟต์แวร์กระดาน แต่มี En Space จนถึง Thin Space และ NL และ LF และแท็บ)

say EVAL    lc q{<the Quiţk Brown fïX jUmpS ůvťɲ Tɨå ìšzY dOg>~&(127.CHR
x
43)}
  • มันใช้ EVAL (ขอบคุณอีกครั้งสำหรับการทำให้มันเป็นตัวพิมพ์ใหญ่) และ<foo bar>อ้างอิงคำที่รองรับอักขระช่องว่างพิเศษทั้งหมดเป็นตัวคั่นคำ
  • say เข้าร่วมรายการของสตริงโดยใช้ช่องว่างทำงานได้ดีที่นี่ :)
  • ต่อไปฉันใช้~&และ 127 สลับเป็นบิตเป็น ascii แบบธรรมดา ภาวะแทรกซ้อนพิเศษ: 'Ŭ'.lcกลายเป็น'ŭ'สิ่งนั้นsแทนที่จะกลายเป็นสิ่งที่rฉันต้องการ การเพิ่ม 128 เวลาพิเศษช่วยได้ :)

เวอร์ชันที่มีเครื่องหมายแบ็กสแลชยกเว้นอักขระ unicode เพื่อแสดงว่ามันต่างกันทั้งหมด

say\x[3000]EVAL\x[9]lc q{<the\x[2003]Qui\x[163]k\x[2004]Brown\x[2005]f\x[EF]X\x[2006]jUmpS\x[2007]\x[16F]v\x[165]\x[272]\x[2008]T\x[268]\x[E5]\x[2009]\x[EC]\x[161]zY\x[200A]dOg>~&(127.CHR\x[0A]x\x[0D]43)}

หากคุณต้องการตรวจสอบว่าพวกเขาทั้งหมดไม่ซ้ำกันให้ใช้สคริปต์นี้ (ฉันเคยQb"string"มีการอ้างอิงขั้นพื้นฐานที่มีเครื่องหมายทับขวาเท่านั้น)

.say for 
Qb"say\x[3000]EVAL\x[9]lc q{<the\x[2003]Qui\x[163]k\x[2004]Brown\x[2005]f\x[EF]X\x[2006]jUmpS\x[2007]\x[16F]v\x[165]\x[272]\x[2008]T\x[268]\x[E5]\x[2009]\x[EC]\x[161]zY\x[200A]dOg>~&(127.CHR\x[0A]x\x[0D]43)}"
.comb.Bag.grep(*.value > 1).map: {.key.ord.base(16) ~ " $_"  }

หรือรันมันโดยตรงโดยใช้

EVAL Qb"say\x[3000]EVAL\x[9]lc q{<the\x[2003]Qui\x[163]k\x[2004]Brown\x[2005]f\x[EF]X\x[2006]jUmpS\x[2007]\x[16F]v\x[165]\x[272]\x[2008]T\x[268]\x[E5]\x[2009]\x[EC]\x[161]zY\x[200A]dOg>~&(127.CHR\x[0A]x\x[0D]43)}"

10

PHP - 67 ไบต์

<?echo$g^¶¥€¼½ˆ•.${~˜}=ÂÍåœÌýü¡¦Åþ¾’‹Ï†£‘ƲáºëÓâæݗߙ󖎸·³ø‰ï®ÜØÔ;

คัดลอกวางบันทึกเป็น Latin-1 (Ansi)

นี่คือ 7-xte-cipher ตัวเลขโดยใช้สตริง¶¥€¼½ˆ•สำหรับเกลือ

ตัวละครซ้ำหนึ่งตัว: $.


คุณสามารถย่อให้เหลืออีก 3 ตัวอักษรโดยใช้<?=เนื่องจากคุณใช้แท็กสั้น ๆ อยู่แล้ว
Kristoffer Sall-Storgaard

อ่าขออภัยเพิ่งสังเกตเห็นคุณใช้แล้ว =
Kristoffer Sall-Storgaard

@KristofferSHansen ฉันคิดว่ามันควรจะเป็นไปได้ที่จะใช้eval('Return$g=binary;')ในรูปแบบที่คลุมเครือบางอย่าง (อาจจะกลับกันเล็กน้อย) เพื่อหลีกเลี่ยงการ$ซ้ำซ้อนและจากนั้นก็=จะเป็นอิสระเช่นกัน
primo

ไม่ควรรวมแท็กเปิดในจำนวนไบต์
TecBrat

@TecBrat สุดท้าย;สามารถแทนที่ด้วยแท็กปิด: ที่ไม่ควรนับเช่นกัน? ในระยะสั้นฉันไม่เห็นด้วย หากรหัสของคุณไม่ทำงานตามสภาพเดิมแสดงว่าไม่ใช่โปรแกรมที่สมบูรณ์
primo

0

Haskell, 71 ตัวอักษร

map(\c->chr$mod(ord c)128)"tŨeఠquiţkĠbŲɯwnȠfѯxРjѵŭŰsܠůvťѲठѴѨѥਠlšzyଠɤկg"

อีกโซลูชัน 7 บิตโมดูโล

ตัวละครซ้ำ:

c 3
d 2
m 2
o 2
r 2
( 2
) 2
" 2

การเล่นกอล์ฟครั้งแรกกับ Haskell ทุกคนมีประสบการณ์ด้านภาษามากขึ้นและรู้สึกอิสระที่จะปรับปรุง ฉันต้องการทำให้ฟังก์ชั่นแบบไม่ระบุชื่อปราศจากจุดเพื่อหลีกเลี่ยงการพูดถึงตัวแปรสองครั้ง แต่ฉันไม่รู้ว่ามันจะเป็นประโยชน์สุทธิหรือไม่


0

JS, 35

btoa("¶ªº'$nº0ú1驲ޮØ^¬òv")

(ใช่ ... มีการพูดซ้ำสองครั้งและผลลัพธ์ไม่ดีมันยังไม่ได้รับคำตอบที่จริงจัง)


-2

Batch Script: 7 ไบต์

echo %1

หากสคริปต์ชื่อ hello.bat ให้พิมพ์สิ่งนี้ในบรรทัดคำสั่ง:

hello.bat "The quick brown fox jumps over the lazy dog"

นี่คือนี้เป็น ... กรณีตาย! (ฉันหมายถึงว่ามันไม่ได้พิมพ์ออกมาอย่างที่คำถามถาม)
Mr Lister

6
เมื่อพิมพ์ที่บรรทัดคำสั่งแสดงว่าคุณกำลังทำซ้ำอักขระ
gerrit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.