การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

30
จะเขียนโปรแกรม C สำหรับการคูณโดยไม่ต้องใช้ตัวดำเนินการ * และ + อย่างไร
เป็นไปได้ไหมที่จะเขียนโปรแกรม C ที่คูณสองตัวเลขโดยไม่ต้องใช้ตัวคูณและตัวดำเนินการเพิ่มเติม? ฉันพบนี้ในกองมากเกิน โปรดช่วยโปรแกรมเมอร์ผู้น่าสงสารคนนี้ด้วยปัญหาของเขา และโปรดอย่าให้คำตอบเหมือนซึ่งเป็นเหมือนกับc = a/(1/((float)b)) c = a*b(และได้รับคำตอบแล้ว) คำตอบที่มีผู้โหวตสูงสุดในวันที่ 19 มกราคม 2014 เป็นผู้ชนะ หมายเหตุ: นี่เป็นคำถามการหมุนรหัส กรุณาอย่าใช้คำถามและ / หรือคำตอบอย่างจริงจัง ข้อมูลเพิ่มเติมในรหัสหลอก

17
ช่วยทรัมป์สร้างกำแพง!
ทรัมป์ต้องการกำแพงที่สร้างขึ้นแล้วคุณจะทำมัน! เพื่อสร้างกำแพงของเขาให้มีประสิทธิภาพมากที่สุดฉันได้สร้างรูปแบบที่เรียบง่ายและทำซ้ำได้เพื่อให้คุณใช้ __ __ | |_| | ___| |___ - - - - - - - - - - - - - - - - - - - ——————————————— ทรัมป์จะบอกคุณว่าเขาต้องการกลุ่มผนังกี่ชิ้นและคุณจะสร้างพวกเขาให้เป็นแบบนี้ นี่คือรูปแบบ: __ __ <-- 4-2-3-2-4 ' _ _ ' | |_| | <-- 3-1-2-1-1-1-2-1-3 ' | |_| | ' ___| …

30
สิงห์ฉลามน้อย
"Baby Shark" เป็นเพลงสำหรับเด็กเกี่ยวกับครอบครัวของฉลาม หลังจากที่ได้รับความนิยมในฐานะเพลงแคมป์ไฟมันได้รับความนิยมมาตั้งแต่กลางทศวรรษ 2000 โดยโซเชียลมีเดียวิดีโอออนไลน์และวิทยุ - วิกิพีเดีย เขียนโปรแกรมที่ไม่มีอินพุตและเขียนข้อความต่อไปนี้ไปยังเอาต์พุตมาตรฐานหรือไฟล์ที่กำหนดเอง: Baby Shark doo doo doo doo doo doo Baby Shark doo doo doo doo doo doo Baby Shark doo doo doo doo doo doo Baby Shark! Daddy Shark doo doo doo doo doo doo Daddy Shark doo doo doo doo doo …

23
เด็กน้อยต้องรวมกัน
เลขจำนวนเต็มบวกทุกตัวสามารถแสดงเป็นผลรวมของจำนวนเต็มบวกจำนวน Palindromic ได้สูงสุดในฐานb ≥5 Cilleruelo et al., 2017 จำนวนเต็มบวกคือpalindromicในฐานที่กำหนดหากการเป็นตัวแทนในฐานนั้นโดยไม่มีศูนย์นำหน้าจะอ่านย้อนหลังเดียวกัน ในสิ่งต่อไปนี้จะพิจารณาเฉพาะฐานb = 10 การสลายตัวเป็นผลรวมของตัวเลข palindromic เป็นไม่ได้ที่ไม่ซ้ำกัน ยกตัวอย่างเช่น5สามารถแสดงโดยตรงหรือเป็นผลรวมของ5 2, 3ในทำนองเดียวกัน132สามารถย่อยสลายเป็นหรือเป็น44, 44, 44121, 11 ความท้าทาย กำหนดจำนวนเต็มบวกให้สร้างการสลายตัวของผลรวมเป็นจำนวนเต็มบวกสามตัวหรือน้อยกว่าที่มีค่า palindromic ในฐาน 10 กฎเพิ่มเติม อัลกอริทึมที่ใช้ควรทำงานกับอินพุตที่มีขนาดใหญ่โดยพลการ อย่างไรก็ตามเป็นที่ยอมรับได้หากโปรแกรมนั้นถูก จำกัด ด้วยข้อ จำกัด ด้านหน่วยความจำเวลาหรือชนิดข้อมูล input และ output สามารถดำเนินการโดยวิธีการที่เหมาะสมใด ๆ รูปแบบอินพุตและเอาต์พุตมีความยืดหยุ่นตามปกติ คุณสามารถเลือกที่จะสร้างการย่อยสลายที่ถูกต้องตั้งแต่หนึ่งรายการขึ้นไปสำหรับแต่ละอินพุตตราบใดที่รูปแบบเอาต์พุตไม่มีความชัดเจน โปรแกรมหรือฟังก์ชั่นที่ได้รับอนุญาตในการเขียนโปรแกรมภาษา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง เนื่องจากอินพุตสามารถมีการแยกย่อยจำนวนมากจึงเป็นตัวอย่างมากกว่ากรณีทดสอบ การสลายตัวแต่ละครั้งจะแสดงในบรรทัดที่แตกต่างกัน Input -> Output 5 …

30
Magic the Gathering: เพื่อนหรือศัตรู?
ในเกมการ์ดเวทย์มนตร์: การรวบรวมมีห้าสีที่แตกต่างกันซึ่งแสดงถึงความผูกพันของการ์ดสีขาว ( W), สีฟ้า ( U), สีฟ้า ( ), สีดำ ( B), สีแดง ( R) และสีเขียว ( G) สิ่งเหล่านี้มักถูกจัดเรียงในรูปห้าเหลี่ยมดังนี้: W G U R B ทั้งในตำนานของ MtG และในกลไกการ์ดหลายสีสีที่อยู่ติดกันในรูปห้าเหลี่ยมนี้มักจะถือว่าเป็นพันธมิตรและสีที่ไม่ติดกัน (เรียงจากตรงข้าม) จะถือว่าเป็นศัตรู ในการท้าทายนี้คุณจะได้รับสองสีและควรกำหนดความสัมพันธ์ของพวกเขา ความท้าทาย คุณได้รับใด ๆ BGRUWสองตัวละครที่แตกต่างจากชุดที่ คุณสามารถใช้สิ่งเหล่านี้เป็นสายอักขระสองตัว, สตริงที่มีตัวคั่นระหว่างอักขระ, ค่าอักขระสองตัวแยกกัน, สองสายซิงเกิล, สองจำนวนเต็มแทนจุดรหัสของพวกเขาหรือรายการหรือประเภทชุดที่มีสองตัวอักษร / สาย / จำนวนเต็ม ผลลัพธ์ของคุณควรเป็นหนึ่งในสองค่าที่แตกต่างและสอดคล้องกันตามที่คุณเลือกซึ่งแสดงว่าทั้งสองสีเป็นพันธมิตรและอีกอันหนึ่งที่บ่งบอกว่าพวกเขาเป็นศัตรู หนึ่งในสองค่านั้นอาจไม่มีผลลัพธ์เลย คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นและใช้วิธีการมาตรฐานของเราในการรับอินพุตและให้เอาต์พุต คุณอาจใช้ภาษาการเขียนโปรแกรมใด ๆแต่โปรดทราบว่าช่องโหว่เหล่านี้เป็นสิ่งต้องห้ามตามค่าเริ่มต้น นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดที่ถูกต้อง …

30
เอาท์พุทสัญญาณ
รับตัวเลข N, ส่งสัญญาณสัญลักษณ์ของ N: ถ้า N เป็นค่าบวกเอาต์พุต 1 ถ้า N เป็นลบเอาต์พุต -1 ถ้า N คือ 0 เอาต์พุต 0 N จะเป็นจำนวนเต็มภายในช่วงจำนวนเต็มที่สามารถแทนได้ในภาษาที่คุณเลือก

24
เขียนโปรแกรมที่ดาวน์โหลดเอง
เขียนโปรแกรมที่เชื่อมต่อกับเว็บไซต์นี้ดาวน์โหลดคำตอบที่ถูกโพสต์แตกซอร์สโค้ดของมันเองแล้วพิมพ์ออกมา ผลลัพธ์จะต้องเหมือนกันกับซอร์สโค้ด รหัสที่สั้นที่สุด (เป็นไบต์) ชนะ กฎ: ไม่อนุญาตให้ใช้ตัวย่อ URL คำตอบจะต้องมีรูปแบบปกติ - ส่วนหัวที่มีชื่อภาษาและขนาดคำอธิบายเพิ่มเติมบล็อกรหัสคำอธิบายเพิ่มเติมและคำอธิบาย ไม่อนุญาตให้ใช้ตัวคั่นที่ผิดธรรมชาติ ผลลัพธ์จะต้องมาจากบล็อกโค้ดจริงที่โพสต์บนเว็บไซต์ ฟังก์ชั่นจะต้องไม่ขึ้นอยู่กับตำแหน่งในรายการคำตอบ มันควรทำงานแม้ว่าจะมีหลายหน้าและคำตอบนั้นไม่ได้อยู่ในหน้าแรก ใหม่:หมายเหตุพิเศษสำหรับคำตอบที่ควรจะเรียกใช้ในเบราว์เซอร์: มันก็โอเคที่จะต้องใช้พวกเขาในโดเมน codegolf (เพื่อปฏิบัติตามนโยบายที่มาเดียวกัน) แต่โดเมนและเส้นทางควรจะรวมอยู่ในการแก้ปัญหาเพื่อ ทำให้มันยุติธรรม

8
วาดป่าดำและขาวแบบสุ่ม
งานของคุณคือการเขียนโปรแกรมซึ่งจะวาดภาพขาวดำขนาด 800x600 ด้วยบางสิ่งที่คล้ายป่า เช่นนี้ (มันเป็นภาพ dithered): กฎระเบียบ คุณไม่ได้รับอนุญาตให้ใช้ภาพที่มีอยู่ใด ๆ - คุณควรสร้างภาพที่มีอัลกอริธึมล้วนๆ ใช้ 2 สีเท่านั้น - ดำและขาว (ไม่มีสีเทา) แต่ละครั้งที่โปรแกรมรันอิมเมจควรใหม่ - สุ่มทุกครั้ง ต้นหนึ่งไม่ได้เป็นป่า (สมมุติ 5 ต้นต่ำกว่า) ไม่อนุญาตให้ใช้ห้องสมุดพิเศษสำหรับวาดต้นไม้ / ป่า ตอบด้วยคะแนนโหวตมากที่สุดชนะ

7
Fault-Tolerant Hello World (ตอนสัมภาษณ์)
ในตอนท้ายของการสัมภาษณ์ผู้สัมภาษณ์ที่ชั่วร้ายจะบอกคุณว่า "เราทำให้ผู้สมัครของเราทั้งหมดทำการทดสอบการเข้ารหัสสั้น ๆ เพื่อดูว่าพวกเขารู้จริง ๆ ว่าพวกเขากำลังพูดถึงอะไรอยู่อย่ากังวลมันเป็นเรื่องง่ายและถ้าคุณสร้าง โปรแกรมทำงานฉันจะเสนองานให้คุณทันที " เขาทำท่าให้คุณนั่งลงที่คอมพิวเตอร์ใกล้ ๆ "สิ่งที่คุณต้องทำคือสร้างโปรแกรม Hello World ที่ใช้งานได้ แต่" - และเขายิ้มกว้าง - "มีสิ่งที่น่าเสียดาย แต่คอมไพเลอร์เดียวที่เรามีในเครื่องนี้มีบั๊กเล็ก ๆ มันสุ่มลบอักขระหนึ่งตัวจาก ไฟล์ซอร์สโค้ดก่อนคอมไพล์ตกลงเห็นคุณในห้านาที! " และเขาก็เดินออกจากห้องพร้อมผิวปากอย่างมีความสุข คุณรับประกันได้ไหมว่าคุณจะได้งานทำ? งาน เขียนโปรแกรมที่จะพิมพ์Hello, world!ไปยังเอาต์พุตมาตรฐานแม้หลังจากลบอักขระเดี่ยวจากตำแหน่งใด ๆ ในไฟล์ หรือมาใกล้เคียงกับสิ่งนี้มากที่สุด กฎระเบียบ ไม่มี Extraneous Output - Hello, world!ต้องเป็นสิ่งสำคัญเพียงอย่างเดียวที่พิมพ์ไปยังเอาต์พุตมาตรฐาน มันก็โอเคที่จะรวมตัวละครอื่น ๆ หากพวกเขาถูกสร้างขึ้นตามภาษาที่คุณเลือกเช่นบรรทัดใหม่หรือแม้กระทั่งสิ่งที่ชอบ[1] "Hello, world!"(ตัวอย่างเช่นถ้าคุณใช้ R) แต่มันจะต้องพิมพ์สิ่งเดียวกันทุกครั้ง ไม่สามารถพิมพ์Hello, world!Hello, world!หรือHello world!" …

30
สามสามสาม!
เขียนโปรแกรมที่สร้างผลลัพธ์เช่น: ปรากฏอย่างน้อยสามอักขระที่แตกต่าง จำนวนครั้งของอักขระแต่ละตัวมีค่าเป็น 3 ยกตัวอย่างเช่นA TEA AT TEEเป็นผลผลิตที่ถูกต้องตั้งแต่แต่ละ 4 ตัวละครที่แตกต่างกันA, E, Tและ(space)เกิดขึ้น 3 ครั้ง แน่นอนความท้าทายเกี่ยวกับหมายเลข 3 จำเป็นต้องมีข้อกำหนดที่สาม ดังนั้น: ตัวโปรแกรมเองต้องเป็นไปตามข้อกำหนดสองข้อแรก (ซึ่งหมายความว่าโปรแกรมของคุณจะมีความยาวอย่างน้อย 9 ไบต์) คุณต้องเขียนโปรแกรมทั้งหมดไม่ใช่ฟังก์ชั่น อย่าลืมแสดงผลลัพธ์ของโปรแกรมในคำตอบ นอกจากนี้เพื่อให้สิ่งที่น่าสนใจคุณได้รับการสนับสนุนอย่างมาก: ไม่ใช้ความคิดเห็นเพื่อตอบสนองความต้องการ 3 ถ้าคุณสามารถช่วยได้ เพื่อสร้างผลผลิตที่ไม่ได้เป็นเพียงแค่สตริงซ้ำ 3 ครั้ง เพื่อทำให้เอาต์พุตแตกต่างจากโปรแกรมเอง (สำหรับภาษาที่สามารถส่งออกเนื้อหาของโปรแกรมของตัวเองโดยอัตโนมัติคุณสามารถมีส่วนร่วมกับวิกิชุมชนนี้ ) นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ

30
“ Hello World!” แปลกประหลาดที่สุด [ปิด]
งาน: สร้างโปรแกรมที่ยุ่งเหยิงที่พิมพ์Hello World!(เหมือนอย่างนั้น) โปรแกรมของคุณอาจไม่มีสายอักขระใด ๆ อยู่ภายใน กฎ: คุณสามารถใช้ภาษาการเขียนโปรแกรมใด ๆ ที่คุณชอบ ทำให้เป็นที่สับสนที่สุด นี่คือการประกวดความนิยมดังนั้นคำตอบของผู้ชนะมากที่สุดคือผู้ชนะ บันทึก: นี้ไม่ซ้ำกับคำถามนี้ นั่นคือโค้ดกอล์ฟและมันมีกฎแตกต่างกัน

21
แปลซอร์สโค้ดภาษาอังกฤษของคุณเป็นภาษาต่างประเทศ [ปิด]
ฉันสังเกตเห็นว่ามีภาษาคอมพิวเตอร์ที่ไม่เหมาะสมสัดส่วนตามภาษาอังกฤษ ฉันเสนอให้แก้ไขด้วยการแปลภาษาคอมพิวเตอร์ที่มีอยู่เป็นภาษาต่างประเทศ! เลือกภาษาคอมพิวเตอร์ที่ใช้คำหลัก / ฟังก์ชั่นภาษาอังกฤษ เลือกภาษาธรรมชาติ * นอกเหนือจากภาษาอังกฤษ เขียนโปรแกรมที่แปลซอร์สโค้ดของตัวเองหรือโปรแกรมอื่น ๆ ที่เขียนโดยใช้ชุดย่อยของคำหลัก / ฟังก์ชั่นเดียวกันเป็นภาษาอื่น โพสต์ซอร์สโค้ดและเอาท์พุท (รหัสแปล) เริ่มโพสต์ของคุณด้วยสิ่งที่ชอบ: เบสิค, ฝรั่งเศส หรือ ภาษาเบสิก - ภาษาฝรั่งเศส คุณไม่ต้องแปลชื่อภาษาถ้าคุณไม่ต้องการมันเป็นเรื่องสนุก! คุณไม่จำเป็นต้องแปลคำหลัก / ฟังก์ชั่นทั้งหมดในภาษาที่คุณเลือกเพียงแค่คำที่คุณใช้จริงในซอร์สโค้ดของคุณ ตัวอย่างเช่น PHP มีหลายพันดังนั้นคุณไม่จำเป็นต้องแปลทั้งหมด! นอกจากนี้หากคุณใช้ความคิดเห็นใด ๆ โปรดทำอย่างดีที่สุดเพื่อแปลความหมายด้วย! หลังจากที่โปรแกรมของคุณเสร็จสิ้นแล้วไม่ควรมีคำภาษาอังกฤษที่รู้จักยกเว้นว่าเหมาะสมสำหรับภาษาต่างประเทศ ควรแปลคำในสายอักขระด้วย (หมายถึงโปรแกรมที่แปลของคุณจะไม่ทำงานบนซอร์สโค้ดภาษาอังกฤษอีกต่อไปแม้ว่าจะสามารถรันได้!) หวังว่าโปรแกรมของคุณจะทำให้รู้สึกถึงโปรแกรมเมอร์ที่พูดภาษาอื่น ๆ ! ตัวอย่างเช่นif () {} elseif () {} else {}อาจกลายเป็นsi () {} sinonsi () …

30
การคาดคะเน Collatz (OEIS A006577)
นี่คือการคาดคะเน Collatz (OEIS A006577 ): เริ่มต้นด้วยจำนวนเต็มn > 1 ทำซ้ำขั้นตอนต่อไปนี้: ถ้าnเป็นเลขคู่ให้หารด้วย 2 ถ้าnเป็นเลขคี่ให้คูณด้วย 3 แล้วบวก 1 มันได้รับการพิสูจน์ว่าสำหรับจำนวนเต็มบวกทั้งหมดถึง5 * 2 60หรือประมาณ5764000000000000000 , nที่สุดจะกลายเป็น1 งานของคุณคือการหาวิธีการหลายซ้ำก็จะใช้เวลา (จากลดลงครึ่งหนึ่งหรือสามบวกหนึ่ง) ถึง1 xkcd ที่เกี่ยวข้อง :) กฎ: รหัสที่สั้นที่สุดชนะ หากตัวเลข <2 เป็นอินพุตหรือไม่ใช่จำนวนเต็มหรือไม่ใช่ตัวเลขเอาต์พุตจะไม่สำคัญ กรณีทดสอบ 2 -> 1 16 -> 4 5 -> 5 7 -> 16
66 code-golf  math 

30
มันเป็นหมายเลขไซคลอปส์หรือไม่? "ไม่มีใครรู้!
งาน: กำหนดอินพุตจำนวนเต็มให้คิดออกว่าเป็นหมายเลขไซคลอปส์หรือไม่ หมายเลขไซคลอปส์คุณอาจถามคืออะไร มันคือตัวเลขที่การแสดงเลขฐานสองมีเพียงจุดเดียว0ในศูนย์! กรณีทดสอบ: Input | Output | Binary | Explanation -------------------------------------- 0 | truthy | 0 | only one zero at "center" 1 | falsy | 1 | contains no zeroes 5 | truthy | 101 | only one zero at center 9 | falsy | 1001 | …

14
วาด☣ (สัญลักษณ์ Biohazard)
วาดสัญลักษณ์ Biohazard ด้วยสีตามใจชอบบนพื้นหลังที่มีสีชัดเจน สัดส่วนที่เฉพาะเจาะจงถูกตีพิมพ์ในวันที่ 27 มิถุนายน พ.ศ. 2517 (ค.ศ. 1974) ของรัฐบาลกลางสหรัฐ รายละเอียด ขณะที่เอาต์พุตอนุญาตให้เขียนไฟล์ (รูปแบบแรสเตอร์และเวกเตอร์) หรือแสดงบนหน้าจอได้ คุณสามารถวาดแค่เส้นขอบหรือรูปร่างที่เติม หากคุณใช้ภาพแรสเตอร์คุณควรใช้พารามิเตอร์ (หรือสอง) เป็นอินพุตที่ให้คุณปรับความละเอียดของเอาต์พุต (เช่นความกว้าง / ความสูง) พื้นหลังอย่างน้อยต้องมีขนาดของกล่องขอบของสัญลักษณ์ แต่อาจมีขนาดใหญ่กว่า เอาท์พุทสัญลักษณ์ Unicode ☣คือไม่เพียงพอ อัตราส่วนที่แน่นอนของระยะทางที่ใช้จะได้รับในแผนภาพต่อไปนี้ (ซึ่งมีพื้นเพมาจากที่นี่ ): ฉันยังพยายามสร้างไดอะแกรมเพิ่มเติมด้วยการวัดแบบเดียวกันซึ่งหวังว่าจะอ่านง่ายขึ้นนิดหน่อย: (แรงบันดาลใจจากการโพสต์ที่มองไม่เห็น 99% )

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