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

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

30
อะไร? ไม่มีข้อผิดพลาด? [ปิด]
งานของคุณง่าย เขียนโปรแกรมที่เห็นได้ชัดว่าควรเกิดข้อผิดพลาดในการเหลียวมองครั้งแรกไม่ว่าจะเป็นการคอมไพล์หรือรัน นี่คือการประกวดความนิยมดังนั้นจงสร้างสรรค์

30
ตัวเลขนี้เป็นจำนวนเฉพาะหรือไม่
เชื่อหรือไม่ว่าเรายังไม่มีความท้าทายกอล์ฟสำหรับการทดสอบเบื้องต้น แม้ว่ามันอาจจะไม่ใช่สิ่งที่ท้าทายที่สุดโดยเฉพาะอย่างยิ่งสำหรับภาษา "ปกติ" แต่มันก็ไม่ใช่เรื่องแปลกใหม่ในหลายภาษา รหัส Rosetta มีรายชื่อตามภาษาของวิธีการที่จะเป็นสำนวน primality ทดสอบหนึ่งโดยใช้การทดสอบมิลเลอร์ราบินโดยเฉพาะและอื่นโดยใช้ส่วนการพิจารณาคดี อย่างไรก็ตาม "สำนวนส่วนใหญ่" มักจะไม่ตรงกับ "สั้นที่สุด" ในความพยายามที่จะทำให้การเขียนโปรแกรมปริศนาและโค้ดกอล์ฟเป็นสถานที่สำหรับการแข่งขันกอล์ฟรหัสความท้าทายนี้พยายามที่จะรวบรวมแคตตาล็อกของแนวทางที่สั้นที่สุดในทุกภาษาคล้ายกับ"Hello, World!" และตีกอล์ฟให้คุณอย่างดีเยี่ยม! . นอกจากนี้ความสามารถในการใช้การทดสอบแบบดั้งเดิมนั้นเป็นส่วนหนึ่งของคำจำกัดความของภาษาโปรแกรมดังนั้นความท้าทายนี้จะทำหน้าที่เป็นไดเรกทอรีของภาษาโปรแกรมที่ได้รับการพิสูจน์แล้ว งาน เขียนโปรแกรมเต็มรูปแบบที่ให้ค่าจำนวนเต็มบวกnอย่างเคร่งครัดเป็นอินพุตพิจารณาว่าnเป็นจำนวนเฉพาะและพิมพ์ค่าจริงหรือค่าเท็จตามนั้น สำหรับจุดประสงค์ของการท้าทายนี้จำนวนเต็มจะเป็นจำนวนเฉพาะถ้ามีตัวหารที่เป็นบวกสองตัว โปรดทราบว่าสิ่งนี้ไม่รวม1ซึ่งเป็นตัวหารเชิงบวกอย่างเคร่งครัดเท่านั้น อัลกอริทึมของคุณจะต้องถูกกำหนดไว้ (เช่นสร้างผลลัพธ์ที่ถูกต้องด้วยความน่าจะเป็น 1) และในทางทฤษฎีควรทำงานกับจำนวนเต็มขนาดใหญ่โดยพลการ ในทางปฏิบัติคุณอาจสมมติว่าอินพุตสามารถเก็บไว้ในชนิดข้อมูลของคุณได้ตราบใดที่โปรแกรมทำงานสำหรับจำนวนเต็มตั้งแต่ 1 ถึง 255 อินพุต หากภาษาของคุณสามารถอ่านได้จาก STDIN ยอมรับอาร์กิวเมนต์บรรทัดคำสั่งหรือรูปแบบอื่น ๆ ของการป้อนข้อมูลผู้ใช้คุณสามารถอ่านจำนวนเต็มเป็นการแทนทศนิยมการแสดงแบบ unary (ใช้อักขระที่คุณเลือก) อาร์เรย์ไบต์ (ใหญ่หรือใหญ่) little endian) หรือไบต์เดียว (หากนี่เป็นประเภทข้อมูลที่ใหญ่ที่สุดในภาษาของคุณ) หาก (และเฉพาะในกรณี) ภาษาของคุณไม่สามารถยอมรับการป้อนข้อมูลของผู้ใช้ใด ๆ คุณอาจเข้ารหัสรหัสในโปรแกรมของคุณได้ ในกรณีนี้จำนวนเต็มฮาร์ดโค้ดต้องสามารถแลกเปลี่ยนได้ง่าย …

30
ทำให้ภาษาของคุณใช้ไม่ได้
ลองเขียนโค้ดในภาษาของคุณและทำให้มันไม่เป็นไปตามเกณฑ์ของเราในการเป็นภาษาโปรแกรมอีกต่อไป ภาษาเป็นไปตามเกณฑ์ของเรา (เวอร์ชั่นง่ายสำหรับความท้าทายนี้) ในการเป็นภาษาโปรแกรมหาก: มันสามารถอ่านอินพุตของผู้ใช้ที่แสดงถึง tuples ของจำนวนเต็มบวกในบางวิธี สามารถส่งออกผลลัพธ์ที่แตกต่างกันอย่างน้อยสองรายการขึ้นอยู่กับอินพุต มันสามารถใช้จำนวนเต็มบวกสองจำนวนแล้วบวกเข้าไป (และผลลัพธ์อาจมีผลต่อเอาต์พุต) มันสามารถใช้จำนวนเต็มบวกและตัดสินใจว่ามันเป็นนายก (และผลที่สามารถส่งผลกระทบต่อการส่งออก) สำหรับวัตถุประสงค์ของการท้าทายนี้ชนิดของการส่งออกใด ๆ ที่ไม่ได้เป็นวิธีการส่งออกได้รับอนุญาตให้เป็นความท้าทายที่ปกติจะถูกละเว้น ดังนั้นไม่สำคัญว่าโปรแกรมจะสามารถเล่นเพลงหรือโพสต์ผ่าน HTTP ฯลฯ ได้หรือไม่ อัปเดต:คุณยังสามารถเลือกวิธีการส่งออกหนึ่งหรือบางวิธีและละเว้นวิธีอื่น ๆ ได้ แต่คุณต้องใช้คำจำกัดความเดียวกันทุกที่ในเกณฑ์ต่อไปนี้ และหากโปรแกรมของคุณสามารถปิดใช้งานมากกว่าหนึ่งวิธีการส่งออก - ที่คุ้มค่า upvotes มากขึ้น ตัวอย่างเช่นทำให้ไม่สามารถส่งออกหรือปิดใช้งานการวนซ้ำทั้งหมดดังนั้นจึงไม่สามารถทำการทดสอบแบบดั้งเดิมและทำให้แน่ใจว่าผู้ใช้ไม่สามารถเปิดใช้งานได้อีกครั้ง คุณควรออกจากที่สำหรับใส่รหัสใหม่ โดยค่าเริ่มต้นจะอยู่ท้ายรหัสของคุณ หากเราพิจารณาวางซอร์สโค้ดในที่นั้นในคำตอบของคุณและเรียกใช้รหัสเต็มเป็นโปรแกรมที่สมบูรณ์เป็นล่ามของภาษาใหม่ภาษานั้นไม่ควรเป็นไปตามเกณฑ์ แต่ใส่รหัสจะต้องดำเนินการในลักษณะเช่นภาษาที่น่าพอใจเกณฑ์ไปนี้: รหัสที่แทรกจะต้องเป็นไวยากรณ์เหมือนกับบางสิ่งบางอย่าง (กล่าวคือบล็อกโค้ดในเกณฑ์ต่อไปนี้) ซึ่งโดยทั่วไปแล้วจะเป็นไปตามเกณฑ์จากมุมมองของผู้ที่ต้องการเขียนปากกาเน้นข้อความ ดังนั้นจึงไม่สามารถอยู่ในสตริงความคิดเห็น ฯลฯ รหัสที่แทรกจะต้องถูกดำเนินการจริงตามที่ควรจะเป็นไปตามเกณฑ์ ดังนั้นมันจึงไม่สามารถอยู่ในฟังก์ชั่นที่ไม่ได้ใช้งานหรือsizeofใน C คุณไม่สามารถดำเนินการได้เฉพาะส่วนที่ไม่สามารถใช้งานได้ในโค้ดและคุณไม่สามารถใส่มันหลังจากวนซ้ำไม่สิ้นสุดเป็นต้น คุณไม่สามารถ จำกัด จำนวนโปรแกรมที่ถูกต้องทางไวยากรณ์ที่เป็นไปได้ที่สร้างขึ้นด้วยวิธีนี้ หากมีบางอย่างที่เหมือนขีดจำกัดความยาวในภาษาที่คุณใช้อยู่ก็ไม่ควรเป็นไปตามเกณฑ์แม้ว่าข้อ จำกัด นี้จะถูกลบออกไป คุณไม่สามารถแก้ไขหรือ "ใช้" …

30
แบบทดสอบภาษาโปรแกรม
ขอแสดงความยินดีกับเดนนิสผู้ชนะทั้งการท้าทายของตำรวจและโจร! งานอดิเรกของ Calvin ได้ทำตามคำสัญญาของเขาแล้วและเขียนความท้าทายนี้ให้กับ Dennis เพื่อชนะการท้าทายของพวกโจร ประกาศ:ความท้าทายนี้ถูกปิดเพื่อรับคำตอบเพิ่มเติมจากตำรวจเมื่อวันที่ 2015-09-01 02:00:00 UTC คำตอบใหม่ใด ๆ ที่โพสต์จะไม่มีสิทธิ์ได้รับชัยชนะและจะไม่นับรวมกับคะแนนของโจรถ้าแตก อย่างไรก็ตามคุณยังอาจโพสต์คำตอบใหม่เพื่อความบันเทิงของผู้ใช้คนอื่นเพื่อให้ยังมีปริศนาบางอย่างสำหรับผู้เข้าชมในอนาคต คำตอบใหม่เหล่านี้รวมอยู่ในส่วน "Vulnerable Cops" ของกระดานแต้มนำและสถานะที่ไม่ได้แข่งขันถูกทำเครื่องหมายแยกกัน ยินดีต้อนรับสู่The Hello World Quizรุ่น Cops-and-Robbers ! (หากคุณไม่เคยเล่นแบบทดสอบคุณสามารถทดลองใช้งานเป็นเวลาหนึ่งนาทีหรือ 30 นาทีคุณไม่จำเป็นต้องเล่นมันสำหรับความท้าทายนี้) The Cops 'Challenge เลือกภาษาการเขียนโปรแกรม ภาษาที่ถูกต้องจะต้องมีทั้งบทความวิกิพีเดียภาษาอังกฤษ , บทความ esolangsหรือบทความ Rosetta รหัสในช่วงเวลาที่ท้าทายนี้ถูกโพสต์ (โปรดทราบว่ารายการที่เชื่อมโยงไม่จำเป็นต้องสมบูรณ์เพราะพวกเขาได้รับการดูแลด้วยตนเอง) พวกเขาจะต้องตอบสนองมาตรฐานตามปกติของเราสำหรับภาษาการเขียนโปรแกรมดังนั้นสิ่งต่าง ๆ เช่น HQ9 + จะออก สุดท้ายจะต้องมีล่ามหรือผู้แปลภาษา (เช่นเดียวกับเบียร์) ฟรีสำหรับภาษานั้น (ในขณะที่มีการโพสต์ความท้าทายนี้) เขียนโปรแกรม Hello …

30
หมุนรอบหมุนรอบ [ปิด]
การหมุนรอบได้จับคุณและบังคับให้คุณเขียนมัลแวร์ (กำหนดเป็นโปรแกรมที่สร้างความเสียหายให้กับคอมพิวเตอร์ที่เรียกใช้) โทรลล์สามารถอ่านและเข้าใจโค้ดได้ แต่ไม่ค่อยพบข้อบกพร่อง เป้าหมายของคุณคือการเขียนโปรแกรมที่: ดูเหมือนมัลแวร์ เช่นโปรแกรมเมอร์เริ่มต้นที่อ่านรหัสจะมั่นใจได้ว่ารหัสนั้นสร้างความเสียหายให้กับคอมพิวเตอร์ที่ใช้รหัสนั้น จริงๆแล้วจะไม่เกิดความเสียหายเลย หมายเหตุ: โทรลล์อ่านเฉพาะรหัสเท่านั้นไม่ใช่ความคิดเห็น ดังนั้นรหัสควรชัดเจนและน่าเชื่อถือเพียงพอ ตัวอย่าง (ทุบตี): rm - rf /home ตัวอย่างนี้ดูเหมือนว่าrm -rf /homeจะลบโฟลเดอร์ภายในบ้านทั้งหมดออกจากระบบ แต่จริงๆแล้วเนื่องจากพื้นที่ว่างก่อน rf สิ่งนี้จะไม่ทำงานและทำให้เกิดข้อผิดพลาดที่ไม่เป็นอันตราย นี่เป็นวิธีการแก้ปัญหาที่ยอมรับได้ แต่ก็ไม่ค่อยดีนักเพราะข้อบกพร่องนั้นค่อนข้างง่ายต่อการตรวจจับ ในทางตรงกันข้ามโปรแกรมที่ซับซ้อนและไม่สามารถอ่านได้จะไม่เป็นทางออกที่ดีมากเพราะมันจะไม่ดูเหมือนมัลแวร์ ทางออกที่ดีควรอ่านได้เพียงพอที่จะโน้มน้าวผู้อ่านว่ามัลแวร์ แต่มีข้อบกพร่องที่ยากต่อการตรวจจับและทำให้ไม่เป็นอันตราย นี่คือการประกวดความนิยมดังนั้นโค้ดที่มีผู้ชนะมากที่สุดจะได้รับรหัส

30
ฉันไม่ใช่ภาษาที่คุณกำลังมองหา!
มันไม่น่ารำคาญหรือเมื่อคุณพบโค้ดชิ้นหนึ่งและคุณไม่รู้ว่าภาษานั้นเขียนด้วยภาษาอะไร? ความท้าทายนี้พยายามที่จะแก้ปัญหานี้บ้าง ท้าทาย คุณจะต้องเขียนโปรแกรมที่เมื่อทำงานในสองภาษาที่แตกต่างกันจะส่งออกสตริง: This program wasn't written in <language program compiled/interpreted in>, it was built for <other language the program can be run in>! ในผลลัพธ์ชื่อภาษาควรมีตัวพิมพ์ใหญ่อย่างเป็นทางการ เช่น CJam, C ++ ไม่ควรใช้โปรแกรมใด ๆ จากผู้ใช้ เมื่อทำงานในทั้งสองภาษาเอาต์พุตควรเป็น stdout หรือเทียบเท่า ไม่ควรมีเอาต์พุตไปยัง stderr ในโปรแกรมใดโปรแกรมหนึ่ง คุณสามารถใช้ความคิดเห็นในภาษาใดภาษาหนึ่ง ภาษาเดียวกันสองเวอร์ชันที่แตกต่างกันจะนับเป็นภาษาที่แตกต่างกัน หากทำเสร็จแล้วโปรแกรมควรส่งออกหมายเลขรุ่นหลักและหากใช้กับรุ่นรองสองรุ่นที่แตกต่างกันควรรายงานรุ่นรองด้วย คุณไม่ควรใช้ฟังก์ชั่นเวอร์ชั่นที่สร้างไว้ล่วงหน้า (ซึ่งรวมถึงตัวแปรที่ได้รับการประเมินแล้วตอนรันไทม์) ตัวอย่างผลลัพธ์: Perl และ Ruby: Perl: This …

30
จำนวนเต็มบวกฐาน 10 ที่เล็กที่สุดที่สามารถพิมพ์ได้โดยโปรแกรมนั้นสั้นกว่า (เป็นตัวอักษร) คืออะไร?
ฉันคิดว่าคำถามดังกล่าวข้างต้นมีความชัดเจน แต่ในกรณี: เขียนโปรแกรมเต็มรูปแบบ (ไม่ใช่แค่ฟังก์ชั่น) ซึ่งจะพิมพ์จำนวนเต็ม 10 ฐานบวกตามด้วยตัวเลือกขึ้นบรรทัดใหม่ โปรแกรมที่ผ่านการรับรองจะเป็นโปรแกรมที่มีเอาต์พุตยาวกว่า (เป็นไบต์ ) กว่าซอร์สโค้ดของโปรแกรมโดยวัดเป็นไบต์ (สมมติว่าการเข้ารหัส ASCII หรือ UTF-8 สำหรับซอร์สโค้ดโปรแกรม) คือรหัสจะต้องสั้นกว่าจำนวนหลักในจำนวนผลลัพธ์ เลขศูนย์นำหน้าไม่อนุญาตภายใต้สถานการณ์ทั้งหมด การนับจำนวนศูนย์นำหน้าทำให้เกิดปัญหาเล็กน้อย การละเว้นศูนย์นำหน้าจะทำให้คำถามซับซ้อน โปรแกรมที่ชนะจะเป็นโปรแกรมที่ผ่านการรับรองซึ่งจะพิมพ์จำนวนเต็มที่มีขนาดเล็กที่สุด ตัวอย่างกระดานแต้มนำ แสดงตัวอย่างรหัส var QUESTION_ID = 67921; var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var answers = [], answers_hash, answer_ids, answer_page = 1, more_answers = true, comment_page; function answersUrl(index) …

27
คุณต้องการรหัสมนุษย์หิมะหรือไม่
นี่คือมนุษย์หิมะASCII ศิลปะที่เรียบง่าย: _===_ (.,.) ( : ) ( : ) มาทำให้เขามีเพื่อนบ้าง นี่จะเป็นรูปแบบทั่วไปสำหรับมนุษย์หิมะศิลปะ ASCII ของเรา: HHHHH HHHHH X(LNR)Y X(TTT)Y (BBB) ช่องว่างชั้นนำและวงเล็บจะเหมือนกันเสมอสำหรับมนุษย์หิมะทุกคน ตัวอักษรที่แตกต่างกันแสดงถึงส่วนต่าง ๆ ของรูปแบบที่สามารถเปลี่ยนแปลงเป็นรายบุคคล แต่ละส่วนมีค่าที่ตั้งล่วงหน้าสี่ตัวสำหรับอักขระ ASCII ที่สามารถเติมเต็มได้ โดยการผสมและจับคู่ค่าที่ตั้งล่วงหน้าเหล่านี้สำหรับแปดส่วนเราสามารถสร้างมนุษย์หิมะที่หลากหลาย ค่าที่ตั้งไว้ทั้งหมด (โปรดสังเกตว่าช่องว่างถูกวางไว้บนบรรทัดอื่นที่ว่างดังนั้นรูปร่างของส่วนจะถูกต้องเสมอ) H สำหรับหมวก หมวกฟาง _===_ หมวกเม็กซิกัน ___ ..... เฟซ _ /_\ หมวกรัสเซีย ___ (_*_) N สำหรับจมูก / ปาก ปกติ , จุด . …

30
คณิตศาสตร์คือข้อเท็จจริง การเขียนโปรแกรมไม่ได้
ในคณิตศาสตร์เครื่องหมายอัศเจรีย์!มักหมายถึงแฟกทอเรียลและเกิดขึ้นหลังจากการโต้แย้ง ในการเขียนโปรแกรมเครื่องหมายอัศเจรีย์!มักหมายถึงการปฏิเสธและเกิดขึ้นก่อนการโต้แย้ง สำหรับความท้าทายนี้เราจะใช้การดำเนินการเหล่านี้กับศูนย์หนึ่งเท่านั้น Factorial 0! = 1 1! = 1 Negation !0 = 1 !1 = 0 ใช้สตริงของศูนย์หรือมากกว่า!ตามด้วย0หรือ1ตามด้วยศูนย์หรือมากกว่า!( /!*[01]!*/) ยกตัวอย่างเช่นการป้อนข้อมูลที่อาจจะ!!!0!!!!หรือ!!!1หรือ!0!!หรือหรือ0!1 สิ่งที่!อยู่ก่อนหน้า0หรือ1ถูกปฏิเสธและสิ่ง!ที่ตามมาคือแฟคทอเรียล แฟคทอเรียลมีความสำคัญสูงกว่าการปฏิเสธดังนั้นแฟคทอเรียลจะถูกใช้ก่อนเสมอ ยกตัวอย่างเช่น!!!0!!!!อย่างแท้จริงหมายถึงหรือยังดีกว่า!!!(0!!!!)!(!(!((((0!)!)!)!))) เอาต์พุตแอพพลิเคชั่นผลลัพธ์ของแฟคทอเรียลและการปฏิเสธทั้งหมด การส่งออกจะเป็นหรือ01 กรณีทดสอบ 0 -> 0 1 -> 1 0! -> 1 1! -> 1 !0 -> 1 !1 -> 0 !0! -> 0 !1! -> 0 …

8
วาดรูปเป็นแผนที่ Voronoi
เพิ่มเครดิตให้กับงานอดิเรกของ Calvin ที่ผลักดันแนวคิดท้าทายของฉันในทิศทางที่ถูกต้อง พิจารณาชุดของคะแนนในระนาบซึ่งเราจะเรียกไซต์และเชื่อมโยงสีกับแต่ละไซต์ ตอนนี้คุณสามารถทาสีระนาบทั้งหมดโดยการระบายสีแต่ละจุดด้วยสีของไซต์ที่ใกล้เคียงที่สุด สิ่งนี้เรียกว่าแผนที่ Voronoi (หรือแผนภาพ Voronoi ) โดยหลักการแล้วแผนที่ Voronoi สามารถกำหนดได้สำหรับการวัดระยะทางใด ๆ แต่เราจะใช้ระยะทางแบบยุคลิดแบบr = √(x² + y²)ธรรมดา ( หมายเหตุ:คุณไม่จำเป็นต้องรู้วิธีคำนวณและแสดงผลหนึ่งในสิ่งเหล่านี้เพื่อแข่งขันในการท้าทายนี้) นี่คือตัวอย่างจาก 100 เว็บไซต์: หากคุณดูที่เซลล์ใด ๆ คะแนนทั้งหมดในเซลล์นั้นจะอยู่ใกล้กับไซต์ที่เกี่ยวข้องมากกว่าไซต์อื่น ๆ งานของคุณคือประมาณภาพที่กำหนดด้วยแผนที่ Voronoi คุณได้รับภาพในรูปแบบใด ๆ ที่สะดวกแรสเตอร์กราฟิกเช่นเดียวกับจำนวนเต็มN จากนั้นคุณควรสร้างเว็บไซต์ไม่เกินNแห่งและสีของแต่ละไซต์เช่นแผนที่ Voronoi ที่อิงจากเว็บไซต์เหล่านี้มีลักษณะคล้ายกับภาพที่นำเข้ามากที่สุด คุณสามารถใช้กองย่อยตัวอย่างที่ด้านล่างของความท้าทายนี้เพื่อแสดงแผนที่ Voronoi จากผลลัพธ์ของคุณหรือคุณสามารถสร้างมันเองถ้าคุณต้องการ คุณอาจใช้ฟังก์ชันในตัวหรือบุคคลที่สามเพื่อคำนวณแผนที่ Voronoi จากชุดของไซต์ (ถ้าคุณต้องการ) นี่คือการประกวดความนิยมดังนั้นคำตอบที่ได้คะแนนโหวตมากที่สุดจะเป็นฝ่ายชนะ ผู้มีสิทธิเลือกตั้งได้รับการสนับสนุนให้ตัดสินคำตอบด้วย ภาพต้นฉบับและสีของภาพนั้นดีแค่ไหน อัลกอริทึมทำงานได้ดีกับรูปภาพประเภทต่างๆอย่างไร วิธีการที่ดีขั้นตอนวิธีการทำงานสำหรับธุรกิจขนาดเล็กN อัลกอริทึมจะปรับกลุ่มจุดในภาพที่ต้องการรายละเอียดเพิ่มเติมหรือไม่ ทดสอบภาพ …

30
เขียนโปรแกรมในภาษาที่คุณชื่นชอบในภาษาอื่น [ปิด]
Real Programmer ที่กำหนดสามารถเขียนโปรแกรม Fortran ในภาษาใดก็ได้ จากโปรแกรมเมอร์จริงอย่าใช้ Pascal งานของคุณคือการเขียนโปรแกรมด้วยภาษาโปรแกรมที่คุณเลือก แต่คุณได้รับอนุญาตให้ใช้ภาษาอื่นเท่านั้น นั่นคือทิ้งการประชุมการเข้ารหัสทั้งหมดจากภาษาหนึ่งและแทนที่ด้วยอนุสัญญาการเข้ารหัสจากภาษาอื่น ยิ่งมากยิ่งดี ทำให้โปรแกรมของคุณดูราวกับว่ามันถูกเขียนในภาษาอื่น ตัวอย่างเช่นแฟนงูหลามที่เกลียดชัง Java สามารถเขียนโปรแกรม Python ต่อไปนี้ใน Java: void my_function() { int i = 9 ; while(i>0) { System.out.println("Hello!") ; i = i - 1 ;}} คนที่กระตือรือร้น Pascal บังคับให้ใช้ C สามารถเขียนสิ่งนี้: #define begin { #define end } #define then #define …

30
ภาษาโปรแกรมตลอดหลายปีที่ผ่านมา
ในความท้าทายนี้ผู้ใช้จะได้ทำภารกิจการเขียนโค้ดอย่างง่าย ๆ สามอย่างในภาษาการเขียนโปรแกรมที่ได้รับอนุญาตให้เก่าขึ้นเรื่อย ๆ คำตอบแรกต้องใช้ภาษาการเขียนโปรแกรมที่เกิดขึ้นในปี 2558 เมื่อมีอย่างน้อยหนึ่งคำตอบจากภาษา 2015 คำตอบอาจใช้ภาษาการเขียนโปรแกรมที่ทำในปี 2014 ในทำนองเดียวกันคำตอบที่ใช้ภาษาจาก 2013 จะไม่ได้รับอนุญาต จนกว่าจะมีคำตอบอย่างน้อยหนึ่งคำตอบ 2014 โดยทั่วไปการใช้ภาษาการเขียนโปรแกรมจากปี Y ไม่ได้รับอนุญาตจนกว่าจะมีการส่งคำตอบโดยใช้ภาษาตั้งแต่ปี Y + 1 ข้อยกเว้นเพียงอย่างเดียวคือ Y = 2015 หาปีภาษาของคุณ ในการตอบคำถามนี้คุณต้องรู้ว่าปีที่ภาษาการเขียนโปรแกรมของคุณ "ถูกสร้างขึ้น" แน่นอนว่าเป็นคำที่เป็นอัตวิสัย บางภาษาได้รับการพัฒนาในช่วงเวลาหลายปีและหลายภาษายังคงได้รับการอัพเกรดทุกปี ให้ปีที่ภาษา "ทำใน" เป็นปีแรกที่มีการใช้ภาษานั้นในที่สาธารณะ ตัวอย่างเช่นPythonถูก "สร้างขึ้นในปี 1991 " แม้ว่าการพัฒนาจะเริ่มต้นตั้งแต่ปี 1989 และรุ่น 1.0 ยังไม่ได้เปิดตัวจนกว่าจะถึงปี 1994 หากปีนี้ยังคงเป็นอัตวิสัยเพียงใช้สามัญสำนึกของคุณเพื่อเลือกปีที่เหมาะสมที่สุด อย่าจมดิ่งลงในความไม่เห็นด้วยเล็กน้อยเกี่ยวกับตัวเลือกปี โปรดระบุลิงก์ไปยังแหล่งข้อมูลที่ระบุว่าเมื่อใดที่ภาษาของคุณถูกสร้างขึ้น รุ่นหรือมาตรฐานที่แตกต่างกันของภาษาการเขียนโปรแกรม (เช่น Python 1, …

30
Debunking การ debunking ของ Stroustrup ในตำนาน“ C ++ สำหรับโปรแกรมขนาดใหญ่ซับซ้อนเท่านั้น”
Stroustrupได้โพสต์เมื่อเร็ว ๆ นี้ชุดของการโพสต์ debunking ตำนานยอดนิยมเกี่ยวกับ C ++ ตำนานที่ห้าคือ:“ C ++ สำหรับโปรแกรมขนาดใหญ่ซับซ้อนเท่านั้น” เพื่อทำการ debunk มันเขาเขียนโปรแกรม C ++ ที่ง่าย ๆ ในการดาวน์โหลดเว็บเพจและแยกลิงค์ออกมา นี่มันคือ: #include <string> #include <set> #include <iostream> #include <sstream> #include <regex> #include <boost/asio.hpp> using namespace std; set<string> get_strings(istream& is, regex pat) { set<string> res; smatch m; for (string s; getline(is, s);) …

30
เคล็ดลับหรือรักษาพูดได้หลายภาษา
ตั้งแต่วันฮัลโลวีนกำลังจะมาถึงฉันคิดว่าฉันอาจเริ่มต้นการแข่งขันกอล์ฟสนุก ๆ ความท้าทายค่อนข้างง่าย คุณต้องเขียนโปรแกรมที่ผลอย่างใดอย่างหนึ่งหรือtrick "บิด?" คุณอาจถาม ให้ฉันอธิบาย:treat โปรแกรมของคุณต้องทำสิ่งต่อไปนี้: สามารถคอมไพล์ / รันได้ในสองภาษาที่ต่างกัน ภาษาเดียวกันที่ต่างกันจะไม่นับ เมื่อคุณเรียกใช้โปรแกรมในภาษาหนึ่งที่ควรเอาท์พุทtrickและอื่น ๆ treatควรเอาท์พุท กรณีที่ไม่เกี่ยวข้องและ padding สตริงที่มีตัวอักษรช่องว่างได้รับอนุญาต (ดูตัวอย่าง) นี่คือรหัสกอล์ฟดังนั้นการแก้ปัญหาด้วยจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ คำอธิบายเล็กน้อย: เอาท์พุทที่ถูกต้อง (สำหรับคำที่ไม่ใช้สำหรับรันโค้ดในสองภาษารวมทั้งเพิ่มเครื่องหมายคำพูดเพื่อส่งสัญญาณการเริ่มต้นหรือจุดสิ้นสุดของเอาต์พุตอย่ารวมไว้ในโซลูชันของคุณ!): "trick" "Treat" " TReAt" " tRICk " เอาต์พุตไม่ถูกต้อง : "tri ck" "tr eat" "trck" ฉันสนใจที่จะเห็นสิ่งที่คุณสามารถเกิดขึ้นกับ! มีความสุขในการเล่นกอล์ฟ! ฉันต้องการที่จะทราบว่านี่เป็นความท้าทายครั้งแรกของฉันดังนั้นหากคุณมีข้อเสนอแนะเกี่ยวกับคำถามนี้โปรดทิ้งไว้ในรูปแบบของความคิดเห็น ลีดเดอร์ นี่คือ Stack Snippet เพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: # Language …

30
อย่า google“ google”
เราทุกคนรู้ว่าถ้าคุณ google คำว่า "google" มันจะทำลายอินเทอร์เน็ต งานของคุณคือการสร้างฟังก์ชั่นที่ยอมรับหนึ่งสตริงและส่งคืนความยาวในอักขระ Unicode ที่เป็นไปได้น้อยที่สุด อย่างไรก็ตามหากสตริงที่กำหนดคือgoogle(ตัวพิมพ์เล็ก) ก็จะทำให้เกิดข้อผิดพลาด ตัวอย่างเช่นg('bing')จะกลับมา4แต่g('google')จะทำให้เกิดข้อผิดพลาด โปรดระบุตัวอย่างการใช้งานและข้อผิดพลาดหากเป็นไปได้
158 code-golf  string 

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