คำถามติดแท็ก popularity-contest

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

30
ถาม: เขียนชิ้นส่วนของรหัสที่ปิดตัวเอง [ปิด]
ฉันกำลังค้นหาชิ้นส่วนของรหัสที่หยุดทันที - ในแบบที่ไม่เป็นทางการ นี่ไม่ได้หมายความว่า: System.exit((int) 'A');(Java) มันอาจหมายถึง: #!/usr/bin/env python3 # NOTE: This kills ALL RUNNING Python processes. Be careful! def exit(): import os os.system("killall python3") # Windows addon os.system("taskkill /im python.exe /f") exit() คำตอบที่โหวตมากที่สุดชนะ! ทุกภาษาสถาปัตยกรรมทั้งหมด แก้ไข: การออกโดยการโยนข้อยกเว้นจะไม่ได้รับการยอมรับอีกต่อไป!

30
การลบบรรทัดว่างในซอร์สโค้ดซึ่งทำให้เกิดการทำงานที่ไม่คาดคิด [ปิด]
เขียนสคริปต์ที่ทำงานได้ดีเมื่อมีบรรทัดว่างอยู่ในโฟลว์ของโปรแกรมลอจิก แต่จะแบ่งหรือทำให้เกิดพฤติกรรมที่ไม่คาดคิดเมื่อลบบรรทัดนั้น หลีกเลี่ยงช่องโหว่มาตรฐานและคำตอบที่โง่ โปรแกรมของคุณควรทำบางสิ่งที่ "มีประโยชน์" แม้ว่ามันจะเพิ่มจำนวนเต็มเล็กน้อยก็ตาม การลบบรรทัดว่างออกจากสตริงหลายบรรทัดจะไม่นับรวมยกเว้นผลลัพธ์ที่คาดไว้จากสตริงหลายบรรทัดนั้นไม่ควรเปลี่ยนแปลงทางเทคนิค (เช่น: หากคุณกำลังลบการจับคู่บรรทัดว่างทั้งหมด^$) นักเล่นแร่แปรธาตุไม่อนุญาตเช่นกัน อย่าทำสิ่งแปลก ๆ กับ carriage return, tabs, ช่องว่าง ฯลฯ

2
ดนตรีทวีตท้าทาย
นี้เป็นรุ่นที่เสียงของการเข้ารหัสภาพความท้าทายทวิตเตอร์ ออกแบบรูปแบบการบีบอัดสัญญาณเสียงที่สามารถแสดงเพลงอย่างน้อยหนึ่งนาทีใน 140 ไบต์หรือน้อยกว่าของข้อความที่เข้ารหัส UTF-8 ที่พิมพ์ได้ ใช้งานได้โดยการเขียนโปรแกรมบรรทัดคำสั่งที่ใช้อาร์กิวเมนต์ 3 ตัวต่อไปนี้ (หลังชื่อของโปรแกรมเอง): สตริงหรือencodedecode ชื่อไฟล์อินพุต ชื่อไฟล์ที่ส่งออก (หากภาษาการเขียนโปรแกรมที่คุณต้องการไม่มีความสามารถในการใช้อาร์กิวเมนต์บรรทัดคำสั่งคุณอาจใช้วิธีอื่น แต่ต้องอธิบายในคำตอบของคุณ) การencodeดำเนินการจะแปลงจากรูปแบบเสียงที่คุณเลือกเป็นรูปแบบ“ ทวีต” ที่ถูกบีบอัดและการdecodeดำเนินการจะแปลงจากรูปแบบ“ ทวีต” ของคุณไปเป็นรูปแบบเสียงต้นฉบับ (แน่นอนคุณคาดว่าจะใช้การบีบอัดแบบสูญเสียดังนั้นไฟล์เอาต์พุตไม่จำเป็นต้องเหมือนกันกับอินพุตเพียงในรูปแบบเดียวกัน) รวมไว้ในคำตอบของคุณ: ซอร์สโค้ดของโปรแกรมของคุณเต็ม (ถ้ามันยาวเกินไปสำหรับหน้านี้คุณอาจโฮสต์ไว้ที่อื่นและโพสต์ลิงก์ไปที่มัน) คำอธิบายวิธีการทำงาน อย่างน้อยหนึ่งตัวอย่างมีลิงก์ไปยังไฟล์เสียงต้นฉบับข้อความ“ ทวีต” ที่บีบอัดลงไปและไฟล์เสียงที่ได้รับจากการถอดรหัสทวีต (ผู้ตอบรับผิดชอบการยืนยันการใช้งานลิขสิทธิ์อย่างเป็นธรรม) กฎระเบียบ ฉันขอสงวนสิทธิ์ที่จะปิดช่องโหว่ใด ๆ ในกฎการแข่งขันได้ตลอดเวลา [แก้ไขเมื่อวันที่ 24 เมษายน]สำหรับการป้อนข้อมูลencodeฟังก์ชั่นของคุณ(และเอาท์พุทdecodeฟังก์ชั่นของคุณ) คุณสามารถใช้รูปแบบเสียงทั่วไปที่สมเหตุสมผลไม่ว่าจะเป็น: รูปแบบของคลื่นที่ไม่บีบอัดเช่น WAV รูปคลื่นที่บีบอัดเช่น MP3 สไตล์“ Sheet music” เช่น MIDI รูปแบบ“ ทวีต” ที่ถูกบีบอัดของคุณจะต้องเข้ารหัสเสียงในไฟล์อินพุต ดังนั้นเอาต์พุตประเภทต่อไปนี้จะไม่ถูกนับ: …

3
วาดภาพนิ่ง (หรือภาพเคลื่อนไหว) - วาดภาพในเกมแห่งชีวิต
คุณได้รับเมื่อป้อนรูปภาพ greyscale งานของคุณคือการหารูปแบบสแตติกหรือวนลูปในเกมแห่งชีวิตของคอนเวย์ที่มีลักษณะคล้ายกับภาพอินพุตให้ใกล้เคียงที่สุด เอาต์พุตของคุณอาจเป็นภาพนิ่งหรือภาพเคลื่อนไหววนซ้ำในบางรูปแบบที่สามารถแปลงเป็น gif ขนาดภาพที่ส่งออกควรจะเหมือนกับอินพุทและจะต้องมีเพียงพิกเซลขาวดำ หากเอาต์พุตเป็นภาพเคลื่อนไหวแต่ละเฟรมจะต้องสร้างขึ้นจากเฟรมก่อนหน้าตามกฎของเกมแห่งชีวิตโดยมีหนึ่งเซลล์ต่อพิกเซล ภาพเคลื่อนไหวจะต้องวนซ้ำโดยเฟรมแรกจะถูกสร้างจากเฟรมสุดท้ายด้วยกฎเดียวกัน หากผลลัพธ์เป็นภาพนิ่งให้ใช้กฎของเกมแห่งชีวิตกับมันจะต้องผลิตภาพเดียวกัน ซึ่งหมายความว่าไม่มีเซลล์ 'ที่มีชีวิต' อาจมีเพื่อนบ้านที่มีชีวิตมากกว่าสามคนหรือน้อยกว่าสองคนและไม่มีเซลล์ที่ 'ตาย' อาจมีเพื่อนบ้านที่มีชีวิตสามคน (โปรดทราบว่านี่เป็นพื้นเดียวกันกับภาพเคลื่อนไหวตามที่อธิบายไว้ข้างต้น แต่มีเพียงหนึ่งเฟรมเท่านั้น) กฎและการชี้แจงเพิ่มเติม: คุณ (หรือโปรแกรมของคุณ) อาจเลือกว่าเซลล์ 'มีชีวิต' จะแสดงเป็นสีขาวและ 'ตาย' เป็นสีดำหรือในทางกลับกัน นั่นคือคุณสามารถใช้รหัสนี้หรือโปรแกรมของคุณสามารถเลือกได้ตามภาพอินพุต (แต่จะต้องเหมือนกันทุกเฟรมของภาพเคลื่อนไหว) เงื่อนไขขอบเขตควรเป็นระยะซึ่งหมายความว่าเซลล์ในคอลัมน์ขวาสุดมีเพื่อนบ้านในคอลัมน์ซ้ายสุด ฯลฯ สำหรับภาพเคลื่อนไหวอัตราเฟรมขึ้นอยู่กับคุณ (หรือโปรแกรมของคุณ) ฉันจินตนาการว่าอัตราเฟรมที่เร็วจะทำงานได้ดีสำหรับการประมาณพิกเซลสีเทา โปรดโพสต์ผลลัพธ์อย่างน้อยสองรายการที่ฝังอยู่ในคำตอบของคุณ หากคุณสามารถโพสต์ผลลัพธ์จากภาพอินพุตทั้งหมดด้านล่างได้จะดีกว่า สามารถลดขนาดภาพทดสอบได้หากจำเป็นเพื่อให้ได้ gif ที่มีขนาดไฟล์เล็กพอ หากคุณต้องการเชื่อมโยงไปยังไฟล์ที่มีขนาดใหญ่ขึ้นเช่นกันก็ไม่เป็นไร หากคุณต้องการอวดอย่าลังเลที่จะค้นหาไฟล์ต้นฉบับที่มีความละเอียดสูงกว่านี้ โปรดพยายามหลีกเลี่ยงการมีพารามิเตอร์ที่สามารถควบคุมได้มากเกินไปในรหัสของคุณ - จะดีที่สุดถ้าโปรแกรมของคุณใส่ภาพเท่านั้น ข้อยกเว้นคือถ้าคุณต้องการให้พารามิเตอร์สำหรับการควบคุมจำนวนเฟรมภาพเคลื่อนไหวเนื่องจากจะมีผลต่อขนาดไฟล์ คุณสามารถใช้โปรแกรมภายนอกเพื่อเปลี่ยนรูปแบบของไฟล์อินพุตและเอาต์พุตและ / หรือคอมไพล์เฟรมเอาต์พุตเป็นภาพเคลื่อนไหวได้หากคุณต้องการ (นี่ไม่ใช่ความท้าทายในการจัดการรูปแบบไฟล์) นี่คือการประกวดความนิยมดังนั้นคำตอบที่ได้คะแนนมากที่สุดจะเป็นผู้ชนะ นี่คือภาพทดสอบที่เลือกส่วนใหญ่นำมาจากคำถามอื่น ๆ ในเว็บไซต์นี้ …

9
ก่อวินาศกรรมมาตรฐานการเข้ารหัส [ปิด]
มีมาตรฐานการเข้ารหัสที่บังคับใช้กับ บริษัท ซอฟต์แวร์ต่าง ๆ ซึ่งมีเป้าหมายในการเพิ่มความน่าเชื่อถือของรหัสความสามารถในการพกพาและที่สำคัญที่สุดคือความสามารถในการอ่านรหัสที่เขียนร่วมกันโดยผู้พัฒนาซอฟต์แวร์ สองตัวอย่างที่โดดเด่นเป็นMISRA Cและ C ++ มาตรฐานการพัฒนาสำหรับโครงการ JSF เหล่านี้มักจะอยู่ในรูปแบบต่อไปนี้หลังจากระบุอย่างระมัดระวังคำว่า "ต้อง", "จะ", "ควร", "ควร", "อาจ" ฯลฯ หมายถึง: ตัวอย่าง: กฎข้อที่ 50: ตัวแปรจุดลอยตัวจะต้องไม่ถูกทดสอบเพื่อความเท่าเทียมหรือความไม่เท่าเทียมที่แน่นอน เหตุผล:เนื่องจากตัวเลขจุดลอยตัวอาจมีข้อผิดพลาดในการปัดเศษและการตัดปลายดังนั้นจึงอาจไม่สามารถสร้างความเท่าเทียมกันได้แม้จะเป็นไปตามที่คาดไว้ก็ตาม มาตรฐานการเข้ารหัสเหล่านี้ก่อให้เกิดข้อ จำกัด ซึ่งโดยทั่วไปจะเป็นรหัสซึ่งจะถูกกฎหมายจากมุมมองของคอมไพเลอร์ แต่เป็นอันตรายหรืออ่านไม่ได้ดังนั้นจึงถือว่าเป็นอันตราย ตอนนี้มาทำสิ่งนี้กันเถอะ! คุณได้รับการยอมรับในฐานะสมาชิกของคณะกรรมการมาตรฐานขนาดเล็กที่ บริษัท ของคุณซึ่งมีวัตถุประสงค์เพื่อออกแบบมาตรฐานการเข้ารหัสใหม่ที่นักพัฒนาทุกคนใน บริษัท จะต้องใช้ ไม่เป็นที่รู้จักกับคนอื่น ๆ คุณแอบอยู่ในการจ้างงานขององค์กรที่ชั่วร้ายและมีภารกิจในการก่อวินาศกรรม บริษัท คุณต้องเสนอหนึ่งรายการขึ้นไปกับมาตรฐานการเข้ารหัสซึ่งจะขัดขวางนักพัฒนาในภายหลัง อย่างไรก็ตามคุณจะต้องระมัดระวังที่จะไม่ทำให้เรื่องนี้ชัดเจนในทันทีมิฉะนั้นคุณเสี่ยงที่จะไม่ได้รับการยอมรับในมาตรฐาน กล่าวอีกนัยหนึ่งคุณจะต้องแนะนำกฎเกณฑ์ให้กับมาตรฐานการเข้ารหัสซึ่งมีลักษณะที่ถูกต้องตามกฎหมายและมีโอกาสที่ดีในการได้รับการยอมรับจากสมาชิกของคณะกรรมการอื่น ๆ หลังจากที่โครงการเริ่มต้นขึ้นและมีการลงทุนจำนวนชั่วโมงในรหัสคุณควรจะสามารถใช้กฎเหล่านี้ในทางที่ผิด (ตัวอย่างเช่นโดยเทคนิคหรือโดยมากการตีความตามตัวอักษร) เพื่อตั้งค่าสถานะรหัสอื่นที่มีคุณภาพดีและไม่เป็นไปตามมาตรฐาน ดังนั้นพวกเขาจึงต้องใช้ความพยายามอย่างมากในการออกแบบใหม่และกฎจะขัดขวางพวกเขาจากจุดนี้ แต่เมื่อกฎมีการใช้งานมาระยะหนึ่งแล้วโมเมนตัมบริสุทธิ์จะทำให้บทบาทเหล่านี้มีชีวิตอยู่และเนื่องจากมีความขัดแย้งที่สำคัญ ผลประโยชน์ระหว่างระดับการจัดการที่แตกต่างกันผู้จัดการคนอื่นอาจจะรักษากฎชีวิตไว้ (พวกเขาจะโง่เขลาที่จะยอมรับความผิดพลาดของพวกเขา!) ดังนั้นขัดขวาง …

25
โปรแกรมที่จบลง แต่ไม่สิ้นสุด [ปิด]
เขียนโปรแกรมที่เริ่มตัวเองอีกครั้งเมื่อเสร็จสิ้น ไม่ควรมีมากกว่าหนึ่งอินสแตนซ์ของโปรแกรมที่ทำงานในเวลาเดียวกัน ไม่แม้แต่สักครู่ของเวลา คุณสามารถละเว้นอินสแตนซ์ใด ๆ ที่เริ่มต้นโดยผู้ใช้ด้วยตนเองในระหว่างรอบของคุณ แต่รหัสของคุณไม่ควรทำในรอบการรีสตาร์ทของคุณ โปรแกรมสามารถเริ่มหลังจากเวลาใดก็ได้ตราบใดที่มีการรับประกันว่าจะเริ่มอีกครั้ง วิธีเดียวที่จะหยุดวงจรคือการฆ่ากระบวนการ โซลูชันของคุณไม่ควรเกี่ยวข้องกับการรีสตาร์ทสภาพแวดล้อม (ซึ่งโปรแกรมกำลังทำงานอยู่รวมถึงระบบปฏิบัติการ, เครื่อง, VM, เชลล์ ฯลฯ ) เฉพาะโปรแกรมของคุณที่ได้รับอนุญาตให้รีสตาร์ท

12
รหัส Golf of Death [ปิด]
เขียนโค้ดที่ทำให้ BSOD หรือเคอร์เนลตกใจ! กฎ: บน Windows คุณต้องทำให้ BugCheck (Blue Screen of Death) บน Linux (หรือระบบ * nix อื่น ๆ ) คุณต้องทำให้เคอร์เนลตกใจ ต้องไม่เกิดความเสียหายกับระบบ (เช่นควรทำงานเมื่อรีบูต) อนุญาตให้ใช้ไดรเวอร์โหมดเคอร์เนล ระบุข้อมูลระบบปฏิบัติการและเวอร์ชั่นของคุณ อธิบายว่าเกิดความผิดพลาดได้อย่างไร ไม่ใช่กฎที่ใช้เครื่องมือที่ออกแบบมาโดยเฉพาะเพื่อให้เกิดความผิดพลาด แต่การทำเช่นนั้นไม่สร้างสรรค์มาก! ผู้ชนะสูงสุดจะได้รับชัยชนะ

8
ไม่ใช่ผู้ลงคะแนนที่นับ มันคือใครนับคะแนน [ปิด]
สถานการณ์ คุณอาศัยอยู่ในประเทศที่มีการเลือกตั้งประธานาธิบดี ผู้มีสิทธิเลือกตั้งแต่ละคนจะได้รับหนึ่งคะแนนและดังนั้นจึงมีระบบสองพรรคที่มั่นคง (มีบุคคลที่สามอยู่ แต่ไม่ได้รับคะแนนใด ๆ เลย) แบบสำรวจความคิดเห็นล่าสุดแสดงให้เห็นว่าการแข่งขันในความร้อนที่ตาย: 49%: Alberto Arbusto 49%: Jorge Sangre 2%: ผู้สมัครรายย่อยต่างๆ ข้อกำหนดของโปรแกรม คุณได้รับการว่าจ้างจากรัฐบาลให้เขียนซอฟต์แวร์การนับคะแนนบางส่วน คุณจะได้รับรายชื่อแบบไม่มีการเรียงลำดับของการโหวตของหนึ่งเขตต่อหนึ่งบรรทัดเช่นนี้: Alberto Arbusto Jorge Sangre Jorge Sangre Alberto Arbusto Jorge Sangre Alberto Arbusto Alberto Arbusto Jorge Sangre Juan Perez Jorge Sangre Alberto Arbusto Alberto Arbusto … และหลังจากที่ได้อ่านคะแนนเสียงทั้งหมดผลลัพธ์สรุปจำนวนโหวตที่ผู้สมัครแต่ละคนได้รับเรียงตามลำดับจากมากไปน้อยตามจำนวนโหวตดังนี้: 492 Jorge Sangre 484 Alberto …

6
Photomosaics หรือ: ต้องใช้โปรแกรมเมอร์กี่คนเพื่อเปลี่ยนหลอดไฟ?
เราได้รวบรวมกระเบื้องโมเสคของ 2025 headshots จากอวตารของผู้ใช้กองมากเกินด้านบน (คลิกที่ภาพเพื่อดูขนาดเต็ม) งานของคุณคือการเขียนอัลกอริทึมที่จะสร้าง photomosaic ที่ถูกต้องของรูปภาพอื่นโดยใช้อวตาร 48 × 48 พิกเซลจากกริด 45 × 45 ตัวนี้ ทดสอบภาพ นี่คือภาพทดสอบ แรกคือแน่นอนหลอดไฟ! (ภาพเหล่านี้ไม่เต็มขนาดคลิกที่ภาพเพื่อดูขนาดเต็มมีเวอร์ชั่นครึ่งขนาดให้บริการสำหรับThe Kiss , A Sunday Af บ่าย ... , Steve Jobs , และspheres ) ขอบคุณ Wikipedia สำหรับทุกคนยกเว้นทรงกลม raytraced ในขนาดเต็มภาพเหล่านี้จะมีขนาดที่หารด้วย 48 ภาพที่มีขนาดใหญ่กว่าต้องเป็น JPEG ดังนั้นจึงสามารถบีบอัดได้เพียงพอที่จะอัปโหลด เกณฑ์การให้คะแนน นี่คือการประกวดความนิยม การส่งภาพโมเสกที่แสดงภาพต้นฉบับได้อย่างแม่นยำที่สุดควรได้รับการโหวต ฉันจะยอมรับคำตอบที่โหวตสูงสุดในหนึ่งหรือสองสัปดาห์ กฎระเบียบ photomosaics ของคุณจะต้องประกอบด้วยอวตาร 48 …

18
รหัสการทำให้เป็นสุริยวรมัน
ความท้าทายคือการทำให้รหัสโรมันเป็นรหัสที่ถูกต้องในภาษาที่คุณเลือก พวกเขาไม่ควรปรากฏภายในสตริงหรือสิ่งอื่นที่คล้ายกัน แต่ทำงานเหมือนกับโทเค็นอื่น ๆตัวอักษรเช่นตัวเลข( อาหรับ ) ตัวละครหรือสตริง หรือตัวระบุตัวแปร / วิธี / ฟังก์ชั่น ฯลฯ ตัวอย่างเช่นใน Java ต่อไปนี้จะต้องรวบรวมและเรียกใช้ราวกับว่าiได้รับการเริ่มต้น42: int i = XLII; การแยกวิเคราะห์ตัวเลขที่แท้จริงเป็นเรื่องรองดังนั้นคุณสามารถใช้ห้องสมุดได้หากคุณต้องการ แต่นี่เป็นการประกวดความนิยมดังนั้นจึงส่งเสริมให้มีความคิดสร้างสรรค์ คุณไม่สามารถใช้ภาษาใดก็ได้ที่ใช้ตัวเลขโรมันหากมีสิ่งนั้น โชคดี.

5
แก้ไขย่อหน้า
ด้วยจิตวิญญาณของPatch the Imageนี่เป็นความท้าทายที่คล้ายกัน แต่มีข้อความ ท้าทาย Bit rot ทำให้ข้อความที่มีค่าของคุณทรมาน! ด้วยย่อหน้าที่ประกอบด้วยอักขระ ASCII โดยที่มีรูสี่เหลี่ยมอยู่ที่ไหนสักแห่งโปรแกรมของคุณควรพยายามเติมข้อความที่เหมาะสมลงในหลุมเพื่อให้ย่อหน้านั้นกลมกลืนที่สุดเท่าที่จะทำได้ คำจำกัดความเพิ่มเติม หลุมจะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอและอาจขยายหลายบรรทัด จะมีเพียงรูเดียวเท่านั้น โปรดทราบว่ารูไม่จำเป็นต้องตกอยู่ในขอบเขตของคำ หลุมจะมีอย่างน้อยที่สุด 25% ของย่อหน้าอินพุต แต่อาจทับซ้อนหรือขยายผ่านข้อความ "สิ้นสุด" ของข้อความ "ปกติ" (ดูตัวอย่างของ Euclid หรือ Badger ด้านล่าง) เนื่องจากการค้นหาหลุมไม่ใช่ประเด็นหลักของการท้าทายนี้จะประกอบด้วยเครื่องหมายแฮชเพียงอย่างเดียว#เพื่อให้สามารถระบุตัวตนได้ง่าย ไม่มีตำแหน่งอื่นในย่อหน้าอินพุตจะมีเครื่องหมายแฮช รหัสของคุณไม่สามารถใช้ข้อความ "ปกติ" ในตัวอย่างด้านล่าง - มันจะได้รับและประมวลผลข้อความด้วยรูที่อยู่ในนั้น อินพุตสามารถเป็นสตริงแบบหลายบรรทัดเดียวเป็นอาร์เรย์ของสตริง (หนึ่งองค์ประกอบต่อบรรทัด) เป็นไฟล์และอื่น ๆ - คุณเลือกสิ่งที่สะดวกที่สุดสำหรับภาษาของคุณ หากต้องการสามารถป้อนข้อมูลเพิ่มเติมที่เป็นตัวเลือกโดยละเอียดรายละเอียดพิกัดของหลุมได้ (เช่น tuple ของพิกัดหรือสิ่งที่คล้ายกัน) โปรดอธิบายอัลกอริทึมของคุณในการส่งของคุณ การออกเสียง ผู้มีสิทธิเลือกตั้งจะถูกขอให้ตัดสินรายการตามวิธีที่อัลกอริธึมเติมเต็มในรูข้อความ ข้อเสนอแนะบางอย่างรวมถึงต่อไปนี้: พื้นที่ที่เติมเต็มตรงกับการกระจายตัวของช่องว่างและเครื่องหมายวรรคตอนโดยประมาณเป็นส่วนที่เหลือของย่อหน้าหรือไม่ พื้นที่เติมเต็มมีไวยากรณ์ที่ผิดพลาดหรือไม่? …

30
ผลรวมของพลังของ 2
ความท้าทาย ได้รับการป้อนข้อมูลจำนวนเต็มxที่กลับผลของผู้มีอำนาจของทั้งสองว่าเมื่อสรุปให้1 <= x <= 255x ตัวอย่าง รับอินพุต: 86 โปรแกรมของคุณควรส่งออก: 64 16 4 2 การป้อนข้อมูล: 240 เอาท์พุท: 128 64 32 16 การป้อนข้อมูล: 1 เอาท์พุท: 1 การป้อนข้อมูล: 64 เอาท์พุท: 64 เอาท์พุทอาจมีค่าศูนย์ถ้ากำลังสองที่ไม่ได้อยู่ในผลรวม ยกตัวอย่างเช่นการป้อนข้อมูลการส่งออกเดือนพฤษภาคม650 64 0 0 0 0 0 1 เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ
31 code-golf  binary  code-golf  sequence  integer  chess  code-golf  number  arithmetic  matrix  code-golf  code-golf  combinatorics  grid  set-partitions  code-golf  array-manipulation  graph-theory  code-golf  number  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  3d  code-challenge  restricted-source  printable-ascii  code-golf  board-game  code-golf  geometry  grid  code-golf  word-puzzle  code-golf  matrix  sorting  code-golf  code-golf  string  decision-problem  code-golf  matrix  cellular-automata  code-golf  decision-problem  code-golf  math  number  arithmetic  restricted-source  code-golf  code-golf  number  integer  matrix  code-golf  date  code-golf  matrix  code-golf  sequence  combinatorics  chemistry  code-golf  array-manipulation  popularity-contest  code-golf  code-golf  natural-language  code-golf  number  integer  sorting  substitution  code-golf  string  number  date  encode  code-golf  decision-problem  code-golf  string  subsequence  code-golf  string  alphabet  code-golf 

3
ออกแบบคอมพิวเตอร์ชุดคำสั่งหนึ่งชุด!
หมายเหตุ: ฉันยินดีที่จะให้รางวัลกับคำตอบที่ฉันคิดว่าน่าสนใจ ความท้าทายของคุณคือการออกแบบคอมพิวเตอร์ชุดคำสั่งทัวริงที่สมบูรณ์ (OISC): OISC เป็นเครื่องที่เป็นนามธรรมที่ใช้เพียงคำสั่งเดียว - obviating ความต้องการ opcode ภาษาเครื่อง ด้วยตัวเลือกที่ชาญฉลาดสำหรับการเรียนการสอนเดียวและได้รับทรัพยากรที่ไม่ จำกัด OISC จึงสามารถเป็นคอมพิวเตอร์สากลได้ในลักษณะเดียวกับคอมพิวเตอร์ทั่วไปที่มีคำสั่งมากมาย ที่นี่นี้เป็นตัวอย่างของคำสั่งเดียวที่ทำให้ OISC สมบูรณ์แบบของทัวริง กฎ: คุณต้องให้การตีความหรือการพิสูจน์ดังกล่าว คุณต้องจัดเตรียมล่ามสำหรับภาษาของคุณ ล่ามนี้ควรถูก จำกัด โดยหน่วยความจำ / เวลา (เช่นต้องไม่มีข้อ จำกัด ที่ผู้ใช้กำหนด) หากคุณไม่ได้จัดหาล่ามให้กับภาษาของคุณ (ไม่ว่าจะด้วยเหตุผลใดก็ตามนอกจากความเกียจคร้าน) คุณต้องพิสูจน์ว่าเป็นไปได้ที่จะมีคนเขียน ล่ามจะต้องเป็นไปได้ต้องเป็นไปได้ คุณต้องพิสูจน์ความสมบูรณ์ของทัวริง คุณต้องรวมหลักฐานที่เป็นทางการว่าภาษาของคุณนั้นทัวริงสมบูรณ์ วิธีง่ายๆในการทำเช่นนี้คือการพิสูจน์ว่าสามารถตีความหรือมีพฤติกรรมเช่นเดียวกับภาษาทัวริงที่สมบูรณ์แบบอื่น ภาษาพื้นฐานที่สุดในการตีความจะBrainf ** k ตัวอย่างเช่นภาษาปกติที่มีคำสั่งทั้งหมดเหมือนกับ Brainf ** k (และข้อ จำกัด หน่วยความจำที่ผู้ใช้กำหนด) คือทัวริงสมบูรณ์เพราะสิ่งใดก็ตามที่สามารถนำมาใช้ใน Brainf ** k …

22
สร้างวัตถุที่มีการเปลี่ยนแปลงสถานะในการมอบหมาย
ฉันคิดว่ามันแปลกมากที่ทับทิมนี้เป็นไปได้ (ฉันจะไม่พูดในทันที): obj = #code redacted print obj.state # Some value. LValue = obj print obj.state # Different value! ความท้าทายของคุณคือการสร้างรหัสคร่าวๆของแบบฟอร์มนี้ สร้างวัตถุและกำหนดให้กับตัวแปร มันควรจะมีคุณสมบัติที่กำหนดไว้ (หรือวิธีการที่กำหนดขึ้น, idempotent) เหมือนstateด้านบน, การเปลี่ยนแปลงหลังจากที่วัตถุถูกกำหนดให้กับตัวระบุใหม่ ( LValueด้านบน), แม้ว่าคุณจะยังคงใช้ตัวระบุเก่า ( objด้านบน) เพื่ออ้างอิง แก้ไขเพื่อเน้น : stateหรือสิ่งที่เทียบเท่าจะต้องเป็น idempotent ดังนั้นการสร้าง accessor ที่ปรับเปลี่ยนค่าหรือด้วยเหตุผลอื่นใดให้ผลลัพธ์ที่แตกต่างกันเมื่อเรียกหลาย ๆ ครั้งในแถวไม่ใช่โซลูชันที่ถูกต้อง หรือยิ่งกว่านั้นจะต้องมีการกำหนดที่เปลี่ยนแปลงสถานะ ภาษาใด ๆ ที่ได้รับมอบหมายมีสิทธิ์แม้ว่าอาจมีบางภาษาที่ไม่มีวิธีการแก้ปัญหาที่ถูกกฎหมายอย่างสมบูรณ์ ฉันจะโพสต์คำตอบ Ruby ของฉันหากไม่มีใครได้รับหลังจากผ่านไปสองสามวันและยอมรับคำตอบที่ได้รับคะแนนสูงสุด

4
สร้างภาพซ้ำโดยใช้บรรทัด
เขียนโปรแกรมที่ถ่ายด้วยภาพ RGB สีจริงI , จำนวนเส้นสูงสุดในการวาดLและความยาวต่ำสุดmและความยาวMสูงสุดของแต่ละบรรทัด เอาท์พุทภาพOที่รูปลักษณ์มากที่สุดเท่าที่เป็นไปได้เช่นผมและวาดโดยใช้Lหรือเส้นตรงน้อยลงซึ่งทั้งหมดนี้มีความยาวระหว่างยุคลิดมและM แต่ละบรรทัดจะต้องเป็นหนึ่งสีทึบมีจุดปลายทั้งสองอยู่ในขอบเขตของOและวาดโดยใช้อัลกอริทึมเส้นของ Bresenham (ซึ่งห้องสมุดกราฟิกส่วนใหญ่จะทำเพื่อคุณแล้ว) แต่ละบรรทัดมีความหนาเพียง 1 พิกเซล ทุกบรรทัดแม้แต่ความยาว 0 ควรมีอย่างน้อยหนึ่งพิกเซล เส้นอาจถูกวาดทับกัน ก่อนที่จะวาดเส้นใด ๆ คุณอาจเริ่มต้นพื้นหลังของOเป็นสีทึบใด ๆ (ที่อาจขึ้นอยู่กับฉัน ) รายละเอียด Oควรจะมีขนาดเดียวกันกับผม Lจะเป็นจำนวนเต็มที่ไม่ใช่ค่าลบเสมอ มันอาจจะเป็นมากกว่าพื้นที่ของฉัน ม.และเอ็มจะไม่ติดลบตัวเลขทศนิยมกับM > =เมตร ระยะห่างระหว่างสองพิกเซลคือระยะ Euclidean ระหว่างจุดศูนย์กลาง หากระยะทางนี้น้อยกว่าmหรือมากกว่าMดังนั้นจะไม่อนุญาตให้มีบรรทัดระหว่างพิกเซลเหล่านั้น เส้นไม่ควรถูกลดรอยหยัก ความทึบและอัลฟาไม่ควรใช้ โปรแกรมของคุณไม่ควรใช้เวลามากกว่าหนึ่งชั่วโมงในการทำงานบนคอมพิวเตอร์ที่ทันสมัยในภาพที่มีขนาดน้อยกว่าหนึ่งล้านพิกเซลและLน้อยกว่า 10,000 ทดสอบภาพ แน่นอนว่าคุณควรแสดงภาพที่ถูกต้องหรือน่าสนใจที่สุดให้กับเรา (ซึ่งฉันคาดว่าจะเกิดขึ้นเมื่อLอยู่ระหว่าง 5% ถึง 25% ของจำนวนพิกเซลในIและmและMประมาณหนึ่งในสิบของขนาดทแยงมุม) นี่คือภาพทดสอบบางส่วน (คลิกเพื่อดูภาพต้นฉบับ) คุณสามารถโพสต์ของคุณเอง ภาพที่เรียบง่าย: นี่คือการประกวดความนิยม ผลงานที่ได้คะแนนโหวตสูงสุดชนะ …

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