คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

14
พิมพ์รหัสประเทศทั้งหมด
ISO 3166-1เป็นมาตรฐานที่กำหนดรหัสประเทศทั้งหมด รหัสตัวอักษรสองตัวที่รู้จักกันดี (US, GB, JP และอื่น ๆ ) เรียกว่ารหัส Alpha-2 ด้วยตัวอักษรสองตัวมีเพียง 26 2 = 676 รหัสที่เป็นไปได้ซึ่งสามารถจัดเรียงอย่างเป็นตาราง ตารางนี้มีประโยชน์เป็นภาพรวมเพื่อดูว่ามีการใช้รหัสใดถูกสงวนไว้ ฯลฯ ความท้าทายนี้ง่ายมาก: คุณจะพิมพ์รหัสที่กำหนดทั้งหมดของกริดนี้ไปยัง STDOUT โดยใช้ ASCII ธรรมดาดังที่แสดงด้านล่าง: AA AC AD AE AF AG AI AL AM AN AO AP AQ AR AS AT AU AW AX AZ BA BB BD BE BF …

13
ถึงเวลาของสเปนแล้ว!
ฉันมีงานง่าย ๆ ที่ควรใช้งานได้ง่ายโดยใช้รหัส เป้าหมายของคุณคือการเขียนโปรแกรมที่จะส่งออกเวลาที่เขียนในภาษาสเปนให้เวลาในรูปแบบ HH: MM หลายคนคงไม่รู้ว่าจะทำอย่างไรดังนั้นฉันจะทำอย่างละเอียด เวลาในสเปนค่อนข้างสมเหตุสมผล มันมักจะตามรูปแบบของ "Es la / Son las (ชั่วโมง) y (นาที)" ชั่วโมงอยู่ในรูปแบบ 12 ชั่วโมงและ "Es la" จะใช้เฉพาะในกรณีที่ชั่วโมงคือ 1 (เช่นหนึ่งนาฬิกา) นาทีเป็นเรื่องราวที่แตกต่าง หากนาทีน้อยกว่า 30 แสดงว่าเป็นนาทีดังที่แสดงไว้ด้านบน อย่างไรก็ตามถ้านาทีมากกว่า 30 แสดงว่าชั่วโมงนั้นถูกปัดขึ้นและนาทีจะถูกลบออก ตัวอย่างเช่น 7:35 แปลเป็น "8 ชั่วโมงลบ 25 นาที" ตัวอย่างเพิ่มเติมจะได้รับด้านล่าง รายการหมายเลขสเปนที่มีความจำเป็นที่สามารถพบได้ที่นี่ มีสำเนียงอยู่บ้าง แต่ก็ไม่จำเป็น หมายเหตุ:แหล่งข้อมูลบอกว่า "uno" แต่เพื่อให้ถูกต้องตามหลักไวยากรณ์ควรเป็น "una" สิ่งนี้จะไม่ส่งผลกระทบต่อคำตอบใด ๆ หมายเหตุ …

6
โครงสร้างอิฐมีความเสถียรหรือไม่?
ให้เป็นตัวแทนของอิฐก่ออิฐมาตรฐานเป็น[__](และไม่สนใจความจริงที่ว่าด้านบนเปิด) เมื่อก้อนอิฐเหล่านี้ถูกซ้อนทับกันชั้นอื่น ๆ จะถูกชดเชยครึ่งอิฐเหมือนปกติในการก่อสร้างอิฐ: [__][__][__][__] [__][__][__][__] [__][__][__][__] [__][__][__][__] ดังนั้นอิฐแต่ละก้อนมีเพื่อนบ้านได้มากที่สุดหกคนและเป็นไปไม่ได้ที่อิฐสองก้อนจะเรียงตัวในแนวตั้งได้โดยตรง จุดสำคัญคือการจัดเรียงของอิฐเหล่านี้ไม่ได้ถูกทำให้ตายแต่มีเพียงแรงโน้มถ่วง ดังนั้นสิ่งสำคัญคืออิฐแต่ละก้อนในโครงสร้างมีความเสถียรไม่เช่นนั้นโครงสร้างทั้งหมดจะไม่เสถียร อิฐมีความเป็นไปได้สามทาง: อิฐใด ๆ บนพื้นดิน (บรรทัดที่ต่ำที่สุดของอิฐ) มีความเสถียร อิฐใด ๆ ที่มีสองก้อนด้านล่างโดยตรงจะมีเสถียรภาพ: [__] <- this brick is stable [__][__] <- because these bricks hold it up อิฐใด ๆ ที่มีอิฐทั้งด้านบนและด้านล่างบนด้านเดียวกันนั้นจะคงที่: [__] [__] [__] [__] <- these middle bricks are stable [__] [__] because …

30
นับจำนวนคนในจำนวนเต็ม 16 บิตที่ไม่ได้ลงนาม
เขียนคำสั่งที่จะนับจำนวนของคำในจำนวนเต็มสิบหกบิตที่ไม่ได้ลงนาม ตัวอย่างเช่นหากอินพุตคือ1337ผลลัพธ์จะเป็น6เพราะ1337เลขฐานสิบหกบิตเท่ากับ0000010100111001ซึ่งประกอบด้วยหกรายการ

1
พิมพ์เนื้อเพลงเป็น“ Twinkle Twinkle Little Star”
เป้าหมายของคุณคือการพิมพ์เนื้อเพลงลงในเพลง "Twinkle Twinkle Little Star" ในขณะที่เล่นโน้ตแต่ละอัน ไมโครโฟนของคอมพิวเตอร์จะได้ยินเสียงบันทึก หากระดับเสียง (แต่ไม่จำเป็นต้องมีความยาว) ของโน้ตนั้นถูกต้องให้พิมพ์พยางค์ที่เหมาะสม มิฉะนั้นไม่ทำอะไรเลย แต่ละโน้ตจะมีความยาวอย่างน้อยครึ่งวินาทีและจะมีการพักอย่างน้อยหนึ่งในสี่ของวินาทีระหว่างโน้ต ใช้โน้ตดนตรีที่ให้ไว้ที่นี่และเนื้อเพลงต่อไปนี้: (เส้นแนวตั้งแสดงถึงการแบ่งพยางค์) คู่ | kle, twin | kle, lit | tle star, ฉันจะชนะ | der สิ่งที่คุณเป็น ตั้งค่า a | bove โลกสูงมาก เหมือน dia | mond บนท้องฟ้า คู่ | kle, twin | kle, lit | tle star, ฉันจะชนะ | …
24 code-golf  music  audio 

3
เติมเต็มหน้าจอด้วยกระเบื้องวัง
มันได้รับการพิสูจน์แล้วว่าต่อไปนี้ 13 ตารางวังกระเบื้องเสมอกระเบื้องเครื่องบินaperiodically ซึ่งหมายความว่าเมื่อสี่เหลี่ยมถูกจัดเรียงในตารางที่มีด้านข้างทั้งหมดมีสีเดียวกันการแปลของรูปแบบจะไม่ตรงกับตัวเอง เราจะเป็นตัวแทนของแต่ละกระเบื้อง textually โดยตาราง 3 × 3 ที่เต็มไปด้วยช่องว่างที่ศูนย์และมุมและตัวเลข 1 ถึง 5 แทนสีแดง, เขียว, น้ำเงิน, เหลือง, เทา, ที่ขอบ: 2 2 2 1 1 1 4 3 2 2 4 3 2 1 2 1 3 2 3 2 1 3 1 3 2 4 4 4 4 4 …

23
ความเท่าเทียมกันของซีซาร์
สองสตริงคือ "Caesar สมม" ถ้าระยะทาง (นับขึ้น) ระหว่างตัวอักษรที่เกี่ยวข้องจะเหมือนกัน ใช่ฉันสร้างคำนี้ขึ้นมา นี่คือตัวอย่าง: "Abc" และ "Cde" เทียบเท่ากันเพราะ distance from a-c == 2 distance from b-d == 2 distance from c-e == 2 การใช้อักษรตัวพิมพ์ใหญ่ไม่ได้สร้างความแตกต่างใด ๆ "Hello" และ "World" ไม่เทียบเท่า Caesar เพราะ distance from h-w == 15 distance from e-o == 10 distance from l-r == 6 …
24 code-golf  string 

7
มอร์สถอดรหัสกอล์ฟ
ฉันตื่นตระหนกกับความเกลียดชังของช่องว่างที่เพิ่มมากขึ้นและคำตอบนี้เป็นแรงบันดาลใจให้ฉันเพื่อให้แน่ใจว่ารหัสมอร์สนั้นปลอดภัยจากการกำจัดช่องว่างที่ร้ายกาจนี้ ดังนั้นงานของคุณคือการสร้างโปรแกรมที่สามารถแปลรหัสมอร์สได้สำเร็จเมื่อมีการลบช่องว่างทั้งหมด กฎ: อินพุตจะเป็นสตริงที่ประกอบด้วยเส้นประและจุด (ASCII 2D และ 2E) เอาท์พุทไม่ได้กำหนดไว้สำหรับการป้อนข้อมูลที่มีตัวละครอื่น ๆ อย่าลังเลที่จะใช้วิธีการใด ๆ ที่สะดวกในการเลือกภาษาของคุณเพื่อรับอินพุต (stdin, ไฟล์ข้อความ คุณสามารถสมมติว่าการป้อนรหัสมอร์สประกอบด้วยตัวอักษร AZ เท่านั้นและไม่จำเป็นต้องใช้หมายเลขที่ตรงกันหรือเครื่องหมายวรรคตอน ผลลัพธ์ควรมีเฉพาะคำที่อยู่ในไฟล์พจนานุกรมนี้ (อีกครั้งอย่าลังเลที่จะใช้วิธีการที่สะดวกในการเข้าถึงไฟล์พจนานุกรม) การถอดรหัสที่ถูกต้องทั้งหมดควรส่งออกไปยัง stdout และต้องใช้จุดและขีดกลางในอินพุต คำที่ตรงกันแต่ละคำในผลลัพธ์ควรคั่นด้วยช่องว่างและแต่ละการถอดรหัสที่เป็นไปได้ควรคั่นด้วยการขึ้นบรรทัดใหม่ คุณสามารถใช้ตัวพิมพ์ใหญ่ตัวพิมพ์เล็กหรือตัวพิมพ์เล็กได้ตามต้องการ ข้อ จำกัด ทั้งหมดเกี่ยวกับช่องโหว่มาตรฐานมีข้อยกเว้นหนึ่งข้อตามที่ระบุไว้ข้างต้นคุณสามารถเข้าถึงไฟล์พจนานุกรมที่อ้างถึงในข้อกำหนด 2 ผ่านการเชื่อมต่ออินเทอร์เน็ตหากคุณต้องการ การย่อ URL เป็นที่ยอมรับฉันเชื่อว่าgoo.gl/46I35Zน่าจะสั้นที่สุด นี่คือรหัสกอล์ฟรหัสที่สั้นที่สุดชนะ หมายเหตุ: การโพสต์ไฟล์พจนานุกรมบน Pastebin เปลี่ยนการจบบรรทัดทั้งหมดเป็นลำดับสไตล์ 0A 0E ของ Windows โปรแกรมของคุณสามารถสันนิษฐานว่าลงท้ายด้วยบรรทัด 0A เท่านั้น, 0E เท่านั้นหรือ 0A 0E กรณีทดสอบ: …
24 code-golf  morse 

24
ฟังก์ชัน Minmod สั้นที่สุด
minmodฟังก์ชั่นเป็นตัวแปรของคุ้นเคยนาทีซึ่งจะปรากฏในความลาดชัน จำกัด รูปแบบความละเอียดสูงสำหรับสมการเชิงอนุพันธ์ เมื่อพิจารณาเป็นจำนวนมากมันจะเลือกความชันที่แบนราบในขณะที่ดูแลสัญญาณสัมพัทธ์ระหว่างเนินเขา ฟังก์ชั่นใช้พารามิเตอร์จำนวนเท่าใดก็ได้ จากนั้นminmod (x 1 , x 2 , ... , x n )ถูกกำหนดเป็น: นาที (x 1 , x 2 , ... , x n )หากทุก x ฉันเป็นบวกอย่างเคร่งครัด สูงสุด (x 1 , x 2 , ... , x n )หากทุก x ฉันเป็นอย่างเคร่งครัดในเชิงลบ 0มิฉะนั้น เราจะพิจารณาอินพุตที่เป็นจำนวนเต็มเท่านั้นเพราะนั่นไม่ได้ส่งผลกระทบต่อการใช้งานจริงและควรจะครอบคลุมมากขึ้นสำหรับบางภาษา (ลึกลับ) เขียนโปรแกรมหรือฟังก์ชั่นซึ่งใช้จำนวนเต็มลงนามn (สำหรับn> …

4
ขอให้คุณอยู่กับคุณ!
เพื่อเป็นเกียรติแก่วันสตาร์วอร์สให้เขียนโปรแกรมเพื่อแสดงข้อความต่อไปนี้การเลื่อนเหมือนสตาร์วอร์สเปิดการรวบรวมข้อมูล : It is a period of civil war. Rebel spaceships, striking from a hidden base, have won their first victory against the evil Galactic Empire. During the battle, Rebel spies managed to steal secret plans to the Empire's ultimate weapon, the Death Star, an armored space station with enough …

21
เมื่อครั้งสุดท้ายที่วันที่ถูกหารด้วย n?
วันที่สามารถถูกแทนด้วยจำนวนเต็มที่ไม่ได้ลงนามเช่น: YYYYMMDD สิ่งที่คุณต้องทำคือเขียนโปรแกรมหรือฟังก์ชั่นที่สั้นที่สุดซึ่งจะระบุวันที่ล่าสุดที่ตัวเลขหารด้วยจำนวนที่กำหนดn(รวมถึงวันที่วันนี้) แล้วส่งคืนวันที่ในรูปแบบที่แสดงด้านบน หากไม่เคยมีวันที่ (ระหว่าง 00000101 และรวมถึงวันนี้) หารด้วยจำนวนเต็มที่กำหนดคุณควรส่งคืน -1 ตัวอย่าง Current Date Input Output 30 July, 2014 4 20140728 30 July, 2014 7 20140729 28 July, 2014 4 20140728 28 July, 2014 7 20140722 28 July, 5 90000 -1 อินพุต คุณสามารถอ่านได้จาก STDIN หรือรับฟังก์ชั่นอาร์กิวเมนต์หรือคาดว่าอินพุตจะถูกเก็บไว้ในตัวแปร การป้อนข้อมูลจะเป็นจำนวนเต็มไม่ได้ลงนาม เอาท์พุต เขียนถึง STDOUT หรือส่งคืน (หรือบันทึกในตัวแปร) …
24 code-golf  date 

8
สร้างตัวต่อ Nonogram
nonogramเป็นสองมิติปริศนาตรรกะที่มีลักษณะบางอย่างเช่นนี้ (ภาพหน้าจอจากเกมPixeloเกม nonogram ที่ชื่นชอบ): เป้าหมายของเกมคือการค้นหาว่าภาพเหล่านั้นเข้ารหัสอะไร กฎนั้นง่าย: ตัวเลขในคอลัมน์หรือแถวหมายความว่าอยู่ที่ไหนสักแห่งในคอลัมน์หรือแถวนั้นซึ่งมีหลายช่องในกล่อง ตัวอย่างเช่นแถวด้านล่างในรูปภาพด้านบนจะต้องไม่มีกล่องที่กรอกข้อมูลในขณะที่แถวด้านบนนั้นจะต้องมีกล่องทั้งหมดอยู่ในนั้น แถวที่สามจากด้านล่างมีช่องที่เต็มไป 8 ช่องและแถวทั้งหมดจะอยู่ในแถว ตัวเลขสองตัวหรือมากกว่าสำหรับคอลัมน์หรือแถวเดียวกันหมายความว่ามีหลายช่อง "วิ่ง" ของกล่องที่เติมเต็มโดยมีช่องว่างอย่างน้อยหนึ่งช่องว่างด้วยความยาวเหล่านั้น คำสั่งซื้อจะถูกเก็บไว้ ตัวอย่างเช่นมีสามช่องที่กรอกไว้ในคอลัมน์ด้านขวาของภาพด้านบนอย่างน้อยหนึ่งช่องว่างด้านล่างแล้วมีอีกหนึ่งช่อง นี่คือปริศนาเดียวกันที่เกือบจะเสร็จสมบูรณ์: (Xs ไม่สำคัญพวกเขาเป็นเพียงคำใบ้ที่ผู้เล่นออกเพื่อให้ตัวเองพูดว่า "สี่เหลี่ยมจัตุรัสนี้ไม่ได้กรอกอย่างแน่นอน" ให้คิดธงใน Minesweeper พวกเขาไม่มีความหมายของกฎ) หวังว่าคุณจะเห็นได้ว่าตัวอย่างเช่นคอลัมน์กลางพร้อมคำใบ้ที่บอกว่า "2 2" มีการเติมเต็มความยาว 2 กล่องสองกล่อง ภารกิจของคุณคุณควรเลือกที่จะยอมรับมันคือการเขียนโปรแกรมหรือฟังก์ชั่นที่จะสร้างตัวต่อแบบนี้ คุณจะได้รับขนาดของกระดานเป็นจำนวนเต็มเดียว (5 <= n <= 50) บน stdin หรือเป็นอาร์กิวเมนต์ (ไม่มีเหตุผลว่าทำไมปริศนา nonogram จะต้องเป็นรูปสี่เหลี่ยม แต่สำหรับความท้าทายนี้มันจะเป็น) หลังจากนั้นคุณจะได้รับชุดของ 1 และ 0 เป็นตัวแทนของสี่เหลี่ยมที่เติมและไม่ได้บรรจุในรูปภาพตามลำดับ n แรกของพวกเขาคือแถวบนสุดจากนั้นแถวถัดไป …
24 code-golf 

6
เศษที่ใกล้ที่สุด
งาน: โปรแกรมของคุณจะได้รับที่เหมาะสมในเชิงบวกส่วนที่เรียบง่าย<numerator>/<denominator>ในรูปแบบ สำหรับข้อมูลนี้มันจะต้องพบสองเศษส่วน ส่วนที่น้อยกว่าอินพุต ส่วนที่มากกว่าอินพุต เศษส่วนทั้งสองจะต้องมีตัวส่วนที่ต่ำกว่าอินพุต ของเศษส่วนที่เป็นไปได้ทั้งหมดพวกเขาควรมีความแตกต่างต่ำสุดกับอินพุต เอาท์พุท: ผลลัพธ์ของโปรแกรมของคุณจะต้อง: <numerator>/<denominator>เศษส่วนที่มีขนาดเล็กกว่าการป้อนข้อมูลในรูปแบบ ตามด้วยอักขระเว้นวรรค (ASCII-code 32) <numerator>/<denominator>ตามด้วยส่วนที่มากกว่าการป้อนข้อมูลในรูปแบบที่ ดังนี้ «fraction that is < input» «fraction that is > input» กฎ: เศษส่วนทั้งหมดออกมาจะต้องเป็นในแง่ต่ำสุด เศษส่วนทั้งหมดที่ส่งออกจะต้องเป็นเศษส่วนที่เหมาะสม หากไม่มีเศษส่วนที่เหมาะสมที่เป็นไปได้ที่กฎอนุญาตคุณต้องส่งออก0แทนการป้อนเข้า <และ1แทนเศษส่วน> คุณสามารถเลือกได้ว่าคุณต้องการรับเศษส่วนเป็นอาร์กิวเมนต์บรรทัดคำสั่ง (เช่นyourprogram.exe 2/5) หรือพร้อมท์สำหรับการป้อนข้อมูลของผู้ใช้ คุณอาจจะสมมติว่าโปรแกรมของคุณจะไม่ได้รับอินพุตที่ไม่ถูกต้อง รหัสที่สั้นที่สุด (เป็นไบต์ในภาษาใดก็ได้) จะชนะ อาร์กิวเมนต์บรรทัดรับคำสั่งที่ไม่ได้มาตรฐานใด ๆ (อาร์กิวเมนต์ที่ไม่จำเป็นต้องใช้ในการเรียกใช้สคริปต์) จะนับรวมไปยังจำนวนอักขระทั้งหมด โปรแกรมของคุณต้องไม่ทำอะไร: ขึ้นอยู่กับทรัพยากรภายนอกใด ๆ ขึ้นอยู่กับการมีชื่อไฟล์เฉพาะ เอาต์พุตสิ่งอื่นนอกเหนือจากเอาต์พุตที่ต้องการ ใช้เวลารันนานเป็นพิเศษ หากโปรแกรมของคุณใช้เวลาเศษเสี้ยวด้วยเศษ 6 …

4
เพิ่มตัวเลขสองหลักอย่างปลอดภัยใน C
ทุกคนรู้ว่า C เป็นภาษาการเขียนโปรแกรมระดับสูงที่น่ารักปลอดภัย อย่างไรก็ตามคุณในฐานะ coder มีการตั้งค่างานดังต่อไปนี้ เขียนโปรแกรมเพื่อเพิ่มตัวเลขสองตัว อินพุต: จำนวนเต็มคั่นด้วยช่องว่างสองช่อง เอาท์พุท: ผลรวมของตัวเลขสองตัวในอินพุต รหัสเกลียวของคุณจะต้องปลอดภัย 100% กล่าวอีกนัยหนึ่งมันจะต้องทำงานอย่างถูกต้องไม่ว่าอินพุตนั้นจะเป็นอะไร หากอินพุตเป็นจำนวนเต็มคั่นด้วยสองช่องว่างทั้งสองอย่างนั้นมีความยาวน้อยกว่า 100 หลักก็จะต้องส่งออกผลรวม มิฉะนั้นจะต้องส่งข้อความแสดงข้อผิดพลาดและออกอย่างปลอดภัย มันช่างยากเหลือเกิน? ความรุ่งโรจน์ทั่วไปจะถูกมอบให้กับกรณีการป้อนข้อมูลทางพยาธิวิทยาซึ่งทำลายคำตอบของคนอื่น :) รหัสจะต้องรวบรวมโดยไม่มีคำเตือนโดยใช้ gcc -Wall -Wextra บน Ubuntu การอธิบาย อินพุตจาก stdin ช่องว่างแนวนอนเป็นเพียงอักขระเว้นวรรค ไม่ควรมีอะไรมาก่อนหมายเลขแรกและอินพุตควรถูกยกเลิกด้วย newline + EOF หรือเพียงแค่ EOF อินพุตที่ถูกต้องเท่านั้นที่ระบุในฟอร์ม Augmented Backus-Naurคือ: NONZERODIGIT = "1" / "2" / "3" / "4" / …
24 code-golf  c 

30
การสร้างสตริงเดียวด้วยคอมม่า Oxford จากรายการ
อะไรคือแนวทางที่ฉลาด (สั้นและเป็นสำนวน) ในการจดรายการสตริงและส่งคืนสตริงที่คั่นด้วยเครื่องหมายอย่างเดียวที่ถูกสร้างขึ้นจากรายการโดยแต่ละองค์ประกอบมีการอ้างอิง สิ่งนี้เกิดขึ้นกับฉันในขณะที่กำลังทดลองกับ Groovyซึ่งเป็นวิธีแก้ปัญหาที่แท้จริงของฉัน def temp = things.collect({"\'${it}\'"}) switch (things.size()) { case 1: result = temp[0] break case 2: result = temp.join(" and ") break default: result = temp.take(temp.size()-1).join(", ") + ", and " + temp[-1] break } นั่นคือการ['1']ควรผลผลิต'1', ['1','2']ควรผลผลิต'1 and 2'[ดูสิ่งที่ฉันได้มี?] และควรผลผลิต['1','2','3']'1, 2, and 3' ฉันมีคำตอบที่ดีสำหรับ Groovy แต่ฉันต้องการดูว่าภาษาอื่นสามารถทำอะไรได้บ้าง …

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