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

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

6
สร้างเกมทำงานของ Tetris ใน Game of Life ของ Conway
นี่คือคำถามเชิงทฤษฎี - คำถามหนึ่งที่ไม่สามารถหาคำตอบได้ง่ายไม่ว่าในกรณีใด ๆ แม้แต่คำถามเล็กน้อยก็ตาม ใน Game of Life ของ Conway มีการสร้างเช่นmetapixelซึ่งอนุญาตให้ Game of Life จำลองระบบกฎ Game-of-Life อื่น ๆ ได้เช่นกัน นอกจากนี้ยังเป็นที่รู้จักกันว่าเกมแห่งชีวิตนั้นทัวริงสมบูรณ์ งานของคุณคือการสร้างหุ่นยนต์อัตโนมัติโดยใช้กฎของเกมชีวิตของคอนเวย์ที่จะอนุญาตให้เล่นเกม Tetris โปรแกรมของคุณจะได้รับการป้อนข้อมูลโดยการเปลี่ยนสถานะของหุ่นยนต์ด้วยตนเองในรุ่นที่เฉพาะเจาะจงเพื่อเป็นตัวแทนของการขัดจังหวะ (เช่นการย้ายชิ้นส่วนทางซ้ายหรือขวาวางมันหมุนหมุนหรือสร้างชิ้นใหม่เพื่อวางลงบนตะแกรง) จำนวนรุ่นที่เฉพาะเจาะจงเป็นเวลารอคอยและแสดงผลที่ใดที่หนึ่งบนหุ่นยนต์ ผลลัพธ์ที่แสดงต้องคล้ายกับตาราง Tetris จริงอย่างเห็นได้ชัด โปรแกรมของคุณจะได้รับคะแนนตามสิ่งต่าง ๆ ดังต่อไปนี้ตามลำดับ (ด้วยเกณฑ์ที่ต่ำกว่าที่ทำหน้าที่เป็นตัวแบ่งสำหรับเกณฑ์ที่สูงกว่า): ขนาดกล่องที่ถูกผูกไว้ - กล่องสี่เหลี่ยมที่มีพื้นที่ขนาดเล็กที่สุดซึ่งบรรจุโซลูชันที่ให้ไว้ได้รับรางวัลทั้งหมด การเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ในการป้อนข้อมูล - เซลล์ที่น้อยที่สุด (สำหรับกรณีที่แย่ที่สุดในหุ่นยนต์ของคุณ) ที่จะต้องมีการปรับด้วยตนเองสำหรับการชนะการขัดจังหวะ การประมวลผลที่เร็วที่สุด - ชั่วอายุที่น้อยที่สุดเพื่อก้าวไปหนึ่งขีดในการจำลองการชนะ จำนวนเซลล์เริ่มต้นสด - ...

30
ผลิตหมายเลข 2014 โดยไม่มีตัวเลขใด ๆ ในซอร์สโค้ดของคุณ
หมายเหตุถึงการท้าทายผู้เขียนตามฉันทามติเมตา : คำถามนี้ได้รับการตอบรับอย่างดีเมื่อมีการโพสต์ แต่ความท้าทายเช่นนี้การขอให้ผู้ตอบDo Do โดยไม่ใช้ Y น่าจะได้รับต่ำ ลองใช้sandbox เพื่อรับคำติชมหากคุณต้องการโพสต์คำถามที่คล้ายกัน มันคือ2017 2018 2019 แล้วคนกลับบ้าน ดังนั้นตอนนี้ถึงปี 2014 ก็ถึงเวลาสำหรับคำถามเกี่ยวกับรหัสที่เกี่ยวข้องกับหมายเลข 2014 งานของคุณคือการสร้างโปรแกรมที่พิมพ์ตัวเลข2014โดยไม่ต้องใช้อักขระใด ๆ0123456789ในรหัสของคุณและเป็นอิสระจากตัวแปรภายนอกเช่นวันที่หรือเวลาหรือการสุ่มเมล็ด รหัสที่สั้นที่สุด (นับเป็นไบต์) ให้ทำในภาษาใด ๆ ที่หมายเลขนั้นเป็นโทเค็นที่ถูกต้องชนะ ลีดเดอร์บอร์ด: แสดงตัวอย่างรหัส var QUESTION_ID=17005,OVERRIDE_USER=7110;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var ...

30
ตู้โชว์ของภาษา
หมายเหตุ หัวข้อนี้เปิดอยู่และปลดล็อคเพียงเพราะชุมชนตัดสินใจที่จะทำให้ข้อยกเว้น โปรดอย่าใช้คำถามนี้เป็นหลักฐานว่าคุณสามารถถามคำถามที่คล้ายกันได้ที่นี่ โปรดอย่าสร้างคำถามสำหรับการนำเสนอเพิ่มเติม นี่ไม่ใช่การประกวดความนิยมอีกต่อไปและไม่จำกัดความยาวของข้อมูลโดยการนับคะแนน หากคุณรู้จักกระทู้นี้มาก่อนโปรดตรวจสอบให้แน่ใจว่าคุณได้ทำความคุ้นเคยกับการเปลี่ยนแปลง ชุดข้อความนี้มีไว้เพื่อแสดงคุณสมบัติที่น่าสนใจมีประโยชน์ชัดเจนและ / หรือไม่ซ้ำกันซึ่งเป็นภาษาที่คุณชื่นชอบในการเขียนโปรแกรม นี่ไม่ใช่ความท้าทายหรือการแข่งขัน แต่เป็นการทำงานร่วมกันเพื่อแสดงภาษาการเขียนโปรแกรมให้ได้มากที่สุดเท่าที่จะทำได้ มันทำงานอย่างไร #คำตอบทั้งหมดควรจะรวมถึงชื่อของการเขียนโปรแกรมภาษาที่ด้านบนของโพสต์ที่นำโดย คำตอบอาจมี factoid หนึ่ง (และเพียงหนึ่ง) factoid นั่นคือสองสามประโยคโดยไม่มีรหัสที่อธิบายภาษา นอกเหนือจากข้อเท็จจริงแล้วคำตอบควรประกอบด้วยตัวอย่างของโค้ดซึ่งสามารถ (แต่ไม่จำเป็นต้องเป็น) โปรแกรมหรือฟังก์ชัน ไม่จำเป็นต้องเกี่ยวข้องกับตัวอย่าง ที่จริงแล้วเกร็ดเล็กเกร็ดน้อยที่เกี่ยวข้องมากเกินไปอาจซ้ำซ้อนกัน เนื่องจากนี่ไม่ใช่การประกวดภาษายินดีต้อนรับทุกภาษาเมื่อใดก็ตามที่มีการสร้างขึ้น คำตอบที่มีมากกว่าหนึ่งตัวอย่างของรหัสควรใช้กองย่อยเพื่อยุบทุกอย่างยกเว้น factoid และหนึ่งในตัวอย่าง เมื่อใดก็ตามที่เป็นไปได้ควรมีเพียงหนึ่งคำตอบต่อหนึ่งภาษาการเขียนโปรแกรม นี่คือวิกิชุมชนดังนั้นอย่าลังเลที่จะเพิ่มตัวอย่างในคำตอบใด ๆ แม้ว่าคุณจะไม่ได้สร้างมันขึ้นมาเอง มีStack Snippet สำหรับการบีบอัดโพสต์ซึ่งควรลดผลกระทบของการจำกัดความยาว 30,000 ตัวอักษร คำตอบที่ลงวันที่ก่อนวันจริงแนวทางเหล่านี้ควรได้รับการแก้ไข โปรดช่วยพวกเขาปรับปรุงตามที่จำเป็น คำตอบปัจจุบันเรียงตามตัวอักษรตามชื่อภาษา $.ajax({type:"GET",url:"https://api.stackexchange.com/2.2/questions/44680/answers?site=codegolf&filter=withbody",success:function(data){for(var i=0;i<data.items.length;i++){var temp=document.createElement('p');temp.innerHTML = data.items[i].body.split("\n")[0];$('#list').append('<li><a href="/a/' + data.items[i].answer_id + '">' ...
507 showcase 

1
สร้างนาฬิกาดิจิตอลใน Game of Life ของ Conway
งานของคุณคือสร้างแบบจำลอง Game of Life ซึ่งเป็นตัวแทนของนาฬิกาดิจิตอลซึ่งตอบสนองคุณสมบัติต่อไปนี้: นาฬิกาแสดงชั่วโมงและนาทีในทศนิยม (เช่น12:00, 3:59, 7:24) กับรัฐที่แตกต่างกันสำหรับแต่ละ 1,440 นาทีของวัน - ทั้งชั่วโมงจะไป 0-23 หรือ 1-12 มีตัวบ่งชี้ PM รูปแบบเป็นระยะและรัฐวนรอบโดยไม่มีการโต้ตอบจากภายนอก การอัพเดตนาทีตามช่วงเวลาปกติ - จากการเปลี่ยนหนึ่งนาทีเป็นครั้งต่อไปจะมีจำนวนรุ่นเท่ากัน ผู้สังเกตการณ์ที่ไม่ระบุชื่อสามารถบอกได้ทันทีว่าหน้าจอควรเป็นนาฬิกาดิจิตอล โดยเฉพาะอย่างยิ่งสิ่งนี้ก่อให้เกิด: ตัวเลขสามารถมองเห็นและแยกแยะได้ชัดเจน คุณต้องสามารถบอกด้วยความมั่นใจได้อย่างรวดเร็วว่าจะแสดงเวลาใด มีการอัพเดทตัวเลข หมายเลขใหม่แต่ละหมายเลขจะปรากฏในตำแหน่งเดียวกับหมายเลขก่อนหน้าและไม่มีการเคลื่อนไหวใด ๆ ของกล่องขอบเขตของตัวเลข (โดยเฉพาะอย่างยิ่งตัวเลขไม่ได้มี 10 หลักที่แตกต่างกันในสถานที่ต่าง ๆ ที่ได้รับการเปิดเผยทุกครั้งที่มีการเปลี่ยนแปลงตัวเลข) ตัวเลขจะปรากฏติดกันโดยไม่มีช่องว่างระหว่างกันมากเกินไป โปรแกรมของคุณจะได้คะแนนจากสิ่งต่าง ๆ ดังต่อไปนี้ตามลำดับ (ด้วยเกณฑ์ที่ต่ำกว่าซึ่งทำหน้าที่เป็นตัวแบ่งสำหรับเกณฑ์ที่สูงกว่า): ขนาดกล่องที่ถูกผูกไว้ - กล่องสี่เหลี่ยมที่มีพื้นที่ขนาดเล็กที่สุดซึ่งบรรจุโซลูชันที่ให้ไว้ได้รับรางวัลทั้งหมด การดำเนินการที่เร็วที่สุด - ชั่วอายุคนที่น้อยที่สุดเพื่อความก้าวหน้าหนึ่งนาที จำนวนเซลล์เริ่มต้นสด - จำนวนที่น้อยลงชนะ ...

30
ภาพที่มีทุกสี
คล้ายกับภาพในallrgb.comสร้างภาพที่แต่ละพิกเซลมีสีที่ไม่ซ้ำกัน (ไม่มีการใช้สีสองครั้งและไม่มีสีหายไป) มอบโปรแกรมที่สร้างภาพดังกล่าวพร้อมกับภาพหน้าจอหรือไฟล์ของเอาต์พุต (อัปโหลดเป็น PNG) สร้างภาพอัลกอริทึมอย่างหมดจด รูปภาพต้องเป็น 256 × 128 (หรือกริดที่สามารถจับภาพหน้าจอและบันทึกที่ 256 × 128) ใช้สี 15 บิตทั้งหมด * ไม่อนุญาตให้ใช้อินพุตภายนอก (เช่นไม่มีข้อความค้นหาเว็บ URL หรือฐานข้อมูล) ไม่อนุญาตให้ใช้รูปภาพที่ฝังไว้ (ซอร์สโค้ดซึ่งเป็นภาพก็ดีเช่น Piet ) อนุญาตให้ทำ Dithering ได้ นี่ไม่ใช่การประกวดรหัสสั้น ๆ ถึงแม้ว่ามันจะชนะใจคุณ หากคุณพร้อมท้าทายให้ทำ 512 × 512, 2048 × 1024 หรือ 4096 × 4096 (เพิ่มทีละ 3 บิต) การให้คะแนนคือการลงคะแนน โหวตภาพที่สวยที่สุดโดยใช้โค้ดที่หรูหราที่สุดและ / หรืออัลกอริทึมที่น่าสนใจ ...

30
"สวัสดีชาวโลก!"
ดังนั้น ... เอ่อ ... มันน่าอายนิดหน่อย แต่เราไม่มี "สวัสดีโลก!" ท้าทาย (แม้จะมี 35 สายพันธุ์ติดแท็กด้วยสวัสดีโลกและการนับ) แม้ว่านี่ไม่ใช่การเขียนโค้ดที่น่าสนใจที่สุดในภาษาทั่วไปการค้นหาวิธีแก้ปัญหาที่สั้นที่สุดใน esolangs บางอย่างอาจเป็นความท้าทายที่ร้ายแรง ยกตัวอย่างเช่นสำหรับความรู้ของฉันมันยังไม่เป็นที่ทราบว่ามีการค้นพบวิธีแก้ปัญหา Brainfuck ที่สั้นที่สุดที่เป็นไปได้หรือยัง นอกจากนี้ในขณะที่Wikipediaทั้งหมด(รายการ Wikipedia ถูกลบแต่มีสำเนาที่ archive.org ), esolangsและรหัส Rosettaมีรายการ "Hello, World!" โปรแกรมเหล่านี้ไม่สนใจที่จะมีสั้นที่สุดสำหรับแต่ละภาษา (นอกจากนี้ยังมีที่เก็บ GitHub นี้ ) หากเราต้องการเป็นเว็บไซต์ที่สำคัญในชุมชนนักกอล์ฟรหัสฉันคิดว่าเราควรลองและสร้างแคตตาล็อกสุดท้ายของ "Hello, World!" ที่สั้นที่สุด โปรแกรม (คล้ายกับวิธีการท้าทายความท้าทายพื้นฐานของเราประกอบด้วยการทดสอบที่สั้นที่สุดในภาษาต่างๆ) งั้นมาทำสิ่งนี้กันเถอะ! กฎระเบียบ การส่งแต่ละครั้งจะต้องเป็นโปรแกรมเต็มรูปแบบ โปรแกรมจะไม่รับอินพุตและพิมพ์Hello, World!ไปที่ STDOUT (สตรีมไบต์ที่แน่นอนนี้รวมถึงการใช้อักษรตัวใหญ่และเครื่องหมายวรรคตอน) รวมถึงการขึ้นบรรทัดใหม่ที่เป็นตัวเลือกและไม่มีอะไรอื่น โปรแกรมจะต้องไม่เขียนอะไรไปยัง STDERR หากใครต้องการละเมิดสิ่งนี้โดยการสร้างภาษาที่โปรแกรมว่างพิมพ์Hello, World!ออกมาแสดงความยินดีพวกเขาเพียงแค่ปูทางสำหรับคำตอบที่น่าเบื่อมาก โปรดทราบว่าจะต้องมีล่ามเพื่อให้สามารถส่งการทดสอบได้ ...

30
เขียนโปรแกรมที่ทำให้ 2 +2 = 5 [ปิด]
เขียนโปรแกรมที่ดูเหมือนจะเพิ่มหมายเลข 2 และ 2 และผลลัพธ์ 5 นี่คือการแข่งขันที่ไม่ได้รับการเปิดเผย โปรแกรมของคุณไม่สามารถส่งออกข้อผิดพลาดใด ๆ ระวังช่องโหว่ของหน่วยความจำ! อินพุตเป็นทางเลือก การนิยามใหม่ 2 + 2 เป็น 5 ไม่ใช่ความคิดสร้างสรรค์มาก! อย่าคิดอีกครั้งลองอย่างอื่น

30
วิธีที่สร้างสรรค์ที่สุดในการแสดง 42
ดักลาสอดัมส์เกิดเมื่อวันที่ 11 มีนาคม 2495 และเสียชีวิตเมื่อเขาอายุเพียง 49 ปีเพื่อเป็นเกียรติแก่นักเขียนที่ยอดเยี่ยมนี้ฉันขอท้าให้คุณแสดง42ในวิธีที่สร้างสรรค์ที่สุดเท่าที่จะเป็นไปได้ คุณสามารถพิมพ์ลงในบันทึกผ่านวิธีการที่ซับซ้อนหรือแสดงเป็น ASCII art หรืออะไรก็ได้! เพิ่งเกิดขึ้นด้วยวิธีการสร้างสรรค์ของการแสดง 42 เพราะนี่เป็นการประกวดความนิยมไม่ว่าคำตอบใดจะมีผู้โหวตมากที่สุดภายในวันที่ 11 มีนาคมจะถูกประกาศให้เป็นผู้ชนะ หมายเหตุ:นี่ไม่ซ้ำกัน คำถามที่มันถูกทำเครื่องหมายเป็นซ้ำเป็นคำถามรหัสหลอกที่มีเป้าหมายคือการเขียนรหัสเพื่อส่งออก 42, ไม่พบวิธีที่สร้างสรรค์มากที่สุดในการแสดงมัน ผู้ชนะ: grovesNL! ด้วยคะแนนโหวต 813 ที่น่าประหลาดใจ! ยินดีด้วย! รางวัลชมเชย: Mr Lister C 228 สำหรับการใช้ #define ที่ชาญฉลาด David Carraher Mathematica 45 สำหรับฟังก์ชันคณิตศาสตร์ที่ซับซ้อนและซับซ้อนเพื่อให้ได้ 42 Aschratt Windows Calculator 20 เพราะก็เป็นเครื่องคิดเลข windowsและ 1337 แน่นอน f.rodrigues Python ...

30
American Gothic ในจานสีของ Mona Lisa: จัดเรียงพิกเซลใหม่
คุณจะได้รับสองภาพสีจริงแหล่งที่มาและจานสี พวกเขาไม่จำเป็นต้องมีขนาดเท่ากัน แต่รับประกันได้ว่าพื้นที่ของพวกเขาเหมือนกันคือพวกเขามีจำนวนพิกเซลเดียวกัน งานของคุณคือการสร้างอัลกอริทึมที่สร้างสำเนาที่ถูกต้องที่สุดของแหล่งที่มาโดยใช้พิกเซลในจานสีเท่านั้น แต่ละพิกเซลในพาเล็ตต้องใช้เพียงหนึ่งครั้งในตำแหน่งที่ไม่ซ้ำกันในสำเนานี้ สำเนาจะต้องมีมิติเดียวกันกับแหล่งที่มา สามารถใช้สคริปต์ Python นี้เพื่อให้แน่ใจว่าเป็นไปตามข้อ จำกัด เหล่านี้: from PIL import Image def check(palette, copy): palette = sorted(Image.open(palette).convert('RGB').getdata()) copy = sorted(Image.open(copy).convert('RGB').getdata()) print 'Success' if copy == palette else 'Failed' check('palette.png', 'copy.png') นี่คือภาพหลายภาพสำหรับการทดสอบ พวกเขาทั้งหมดมีพื้นที่เดียวกัน อัลกอริทึมของคุณควรทำงานกับภาพสองภาพที่มีขนาดเท่ากันไม่ใช่เฉพาะ American Gothic และ Mona Lisa แน่นอนคุณควรแสดงผลลัพธ์ของคุณ ขอบคุณ Wikipedia สำหรับรูปภาพของภาพวาดที่มีชื่อเสียง เกณฑ์การให้คะแนน นี่คือการประกวดความนิยมเพื่อให้คำตอบที่ได้รับคะแนนสูงสุดชนะ แต่ฉันแน่ใจว่ามีหลายวิธีที่จะสร้างสรรค์สิ่งนี้! นิเมชั่น ...

17
สร้างคอมไพเลอร์ระเบิด
บทนำ คุณอาจคุ้นเคยกับzip bombs , XML bombsและอื่น ๆ กล่าวง่ายๆคือมันเป็นไฟล์ขนาดเล็ก (ค่อนข้าง) ซึ่งให้ผลลัพธ์มหาศาลเมื่อตีความโดยซอฟต์แวร์ไร้เดียงสา ความท้าทายที่นี่คือการใช้คอมไพเลอร์ในทางที่ผิด ท้าทาย เขียนซอร์สโค้ดที่มีขนาด 512 ไบต์หรือน้อยกว่าและคอมไพล์ลงในไฟล์ที่มีพื้นที่ว่างมากที่สุด ไฟล์ที่ส่งออกที่ใหญ่ที่สุดชนะ! กฎระเบียบ ตกลงดังนั้นจึงมีคำอธิบายคำจำกัดความและข้อ จำกัด ที่สำคัญบางประการ ผลลัพธ์ของการคอมไพล์ต้องเป็นไฟล์ELF , Windows Portable Executable (.exe), หรือ bytecode เสมือนสำหรับ JVM หรือ CLR ของ. Net (CLTC เสมือนจริงประเภทอื่น ๆ ก็น่าจะตกลงถ้าถาม) อัปเดต: เอาต์พุตของ Python .pyc / .pyo ก็มีผลเช่นกัน หากภาษาที่คุณเลือกไม่สามารถรวบรวมได้โดยตรงในรูปแบบใดรูปแบบหนึ่งก็อนุญาตให้ทำการ transpilation ตามด้วยการคอมไพล์ได้ด้วย ( อัปเดต: ...

30
Covfefify สตริง
ในการท้าทายนี้คุณจะต้องใช้สตริงที่ตรงกับ regex ^[a-zA-Z]+$หรืออะไรก็ตามที่สมเหตุสมผล (คุณไม่ต้องพิจารณาตัวอักษรตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กถ้าคุณต้องการ) (คุณอาจถือว่าสตริงนั้นยาวพอและมีโครงสร้างที่เหมาะสมสำหรับทุกคน การดำเนินงาน) และส่งออกสตริงอื่นผลิตคล้ายกับคำที่ส่วนท้ายของทวีต Dadaist ล่าสุดโดย POTUS ( "Despite the constant negative press covfefe") วิธี covfefify สตริง: ขั้นแรกให้รับกลุ่มเสียงแรก (สร้างคำศัพท์) คุณทำเช่นนี้ได้อย่างไร ดี: ค้นหาเสียงสระแรก ( yยังเป็นเสียงสระ) v creation ค้นหาพยัญชนะตัวแรกหลังจากนั้น v creation ลบส่วนที่เหลือของสตริง creat นั่นคือกลุ่มเสียงแรกของคุณ ขั้นตอนต่อไป: รับพยัญชนะตัวสุดท้ายของกลุ่มเสียง t และแทนที่ด้วยเวอร์ชันที่เปล่งเสียงหรือไม่มีเสียง เมื่อต้องการทำเช่นนี้ค้นหาตัวอักษรในตารางนี้ แทนที่ด้วยตัวอักษรที่กำหนด (ซึ่งอาจเป็นตัวอักษรเดียวกัน) b: p c: g d: t f: v ...
371 code-golf  string 

1
Regex ที่ตรงกับตัวเองเท่านั้น
มีความท้าทายที่น่าสนใจเกี่ยวกับ regex ( การจับคู่ด้วยตนเอง , regex validating regex ) สิ่งนี้อาจเป็นไปไม่ได้ แต่มี regex ที่จะจับคู่ตัวเองเท่านั้นหรือไม่ หมายเหตุจะต้องมีตัวคั่น: เช่น/thing/ต้องตรงและไม่ได้/thing/ thingการจับคู่ที่เป็นไปได้สำหรับนิพจน์ของคุณจะต้องเป็นการแสดงออกเท่านั้น หลายภาษาอนุญาตให้มีการนำสตริงไปใช้แทนนิพจน์ทั่วไป ตัวอย่างเช่นใน Go package main import "fmt" import "regexp" func main() { var foo = regexp.MustCompile("bar") fmt.Println(foo.MatchString("foobar")) } แต่เพื่อประโยชน์ของความท้าทายให้แสดงออกเป็นตัวคั่น (สัญลักษณ์เริ่มต้น, การแสดงออก, สิ้นสุดสัญลักษณ์ ex: /fancypantpattern/หรือ@[^2048]@) ถ้าคุณต้องการที่จะโต้แย้งคำพูดเป็นตัวคั่นของคุณดังนั้นไม่ว่าจะเป็น ฉันคิดว่าเมื่อเห็นความยากลำบากของปัญหานี้มันจะไม่สร้างความแตกต่างมากนัก เพื่อช่วยคุณในการ: แฮ็คอย่างรวดเร็วฉันรวบรวมเข้าด้วยกันสำหรับrubular.com (หน้าเว็บสำหรับการแก้ไข ruby ​​regex): var test = ...

30
คณิตศาสตร์ทางคณิตศาสตร์ทวีต [ปิด]
เลขจำนวนเต็มสามารถสร้างรูปแบบที่น่าทึ่งเมื่อวางทับตาราง แม้แต่ฟังก์ชั่นพื้นฐานที่สุดก็สามารถออกแบบได้อย่างน่าทึ่ง! ความท้าทายของคุณ เขียนเนื้อความของฟังก์ชั่น 3 Tweetable (หมายถึง 140 ตัวอักษรหรือน้อยกว่า) สำหรับค่าสีแดงสีเขียวและสีน้ำเงินสำหรับภาพ 1024x1024 อินพุตไปยังฟังก์ชันจะเป็นจำนวนเต็มสองจำนวน i (หมายเลขคอลัมน์สำหรับพิกเซลที่กำหนด) และ j (หมายเลขแถวสำหรับพิกเซลที่กำหนด) และเอาต์พุตจะสั้นที่ไม่ได้ลงนามระหว่าง 0 ถึง 1,023 ซึ่งรวมถึงจำนวนเงินที่กำหนด สีมีอยู่ในพิกเซล (i, j) ตัวอย่างเช่นสามฟังก์ชั่นต่อไปนี้สร้างภาพด้านล่าง /* RED */ return (unsigned short)sqrt((double)(_sq(i-DIM/2)*_sq(j-DIM/2))*2.0); /* GREEN */ return (unsigned short)sqrt((double)( (_sq(i-DIM/2)|_sq(j-DIM/2))* (_sq(i-DIM/2)&_sq(j-DIM/2)) )); /* BLUE */ return (unsigned short)sqrt((double)(_sq(i-DIM/2)&_sq(j-DIM/2))*2.0); /* RED */ ...

8
Upgoat หรือ Downgoat
เมื่อพิจารณาถึงภาพของแพะโปรแกรมของคุณควรพยายามระบุว่าแพะนั้นกลับหัวหรือไม่ ตัวอย่าง นี่คือตัวอย่างของสิ่งที่อินพุตอาจเป็น ไม่ใช่อินพุตจริง การป้อนข้อมูล: เอาท์พุท: Downgoat สเป็ค โปรแกรมของคุณควรมีขนาดสูงสุด 30,000 ไบต์ การป้อนข้อมูลจะมีแพะเต็ม ภาพจะมีแพะอยู่เสมอ ถ้าแพะกลับหัวให้เอาออกDowngoatเป็นอย่างอื่นUpgoat การป้อนข้อมูลจะเป็นอย่างไรคุณสามารถถ่ายภาพเป็นอินพุต (ชื่อไฟล์ base64 ของภาพ ฯลฯ ) อย่าพึ่งพาชื่อรูปภาพหรือข้อมูลเมตาอื่น ๆ ที่มีคำว่า "Upgoat" หรือ "Downgoat" เนื่องจากชื่อไฟล์ส่วนสำคัญใช้สำหรับการอ้างอิงเท่านั้น กรุณาอย่า hardcode มันน่าเบื่อฉันไม่สามารถบังคับใช้ได้อย่างสมบูรณ์ แต่ฉันสามารถถามได้ดี กรณีทดสอบ สรุปสาระสำคัญที่มีภาพ เริ่มต้นด้วยภาพdowngoatได้Downgoatส่งออกและเริ่มต้นด้วยภาพที่upgoatมีUpgoatเอาท์พุท ชุดทดสอบชุดที่สอง ตรวจสอบให้แน่ใจว่าได้ทดสอบภาพของคุณในทุกกรณีทดสอบ ภาพเหล่านี้เป็นjpgs ขนาดภาพจะแตกต่างกัน แต่ไม่ว่ามาก หมายเหตุ:อาจมีการเพิ่มกรณีทดสอบสองสามข้อก่อนยอมรับคำตอบเพื่อหลีกเลี่ยงคำตอบว่า hardcode ใดและเพื่อตรวจสอบประสิทธิภาพทั่วไปของโปรแกรม คะแนนโบนัสสำหรับการแก้ไขภาพแทนตัวของฉัน: P เกณฑ์การให้คะแนน คะแนนคือเปอร์เซ็นต์ซึ่งสามารถคำนวณได้โดย: (number_correct / total) * ...

23
เขียน Moby Dick ประมาณ
นี่คือไฟล์ข้อความ ASCII 1.2Mbที่มีข้อความของMoby-Dickของ Herman Melville หรือปลาวาฬ งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่น (หรือคลาส ฯลฯ - ดูด้านล่าง) ซึ่งจะให้ไฟล์นี้ทีละตัวอักษรและในแต่ละขั้นตอนจะต้องเดาตัวละครต่อไป นี่คือรหัสที่ท้าทาย คะแนนของคุณจะเป็น 2*L + E โดยที่Lขนาดของการส่งของคุณเป็นไบต์และEเป็นจำนวนอักขระที่คาดเดาไม่ถูกต้อง คะแนนต่ำสุดชนะ รายละเอียดเพิ่มเติม การส่งของคุณจะเป็นโปรแกรมหรือฟังก์ชั่น (ฯลฯ ) ที่จะถูกเรียกหรือเรียกใช้หรือส่งข้อมูลหลายครั้ง (1215235 ครั้งเป็นที่แน่นอน.) เมื่อมีการเรียกร้องให้n วันเวลาที่มันจะได้รับn THตัวละครwhale.txtหรือwhale2.txtและจะต้องส่งออกคาดเดาสำหรับ ( 1 + n ) THตัวอักษร Eส่วนประกอบของคะแนนของมันจะเป็นจำนวนรวมของตัวละครว่ามันคาดเดาไม่ถูกต้อง การส่งส่วนใหญ่จะต้องเก็บสถานะบางอย่างในระหว่างการร้องขอเพื่อให้พวกเขาสามารถติดตามจำนวนครั้งที่พวกเขาได้รับการเรียกและสิ่งที่อินพุตก่อนหน้านี้ คุณสามารถทำได้โดยการเขียนไปยังไฟล์ภายนอกโดยใช้staticหรือตัวแปรทั่วโลกโดยการส่งชั้นเรียนมากกว่าฟังก์ชั่นการใช้รัฐ monad หรือสิ่งอื่นที่ทำงานให้กับภาษาของคุณ การส่งของคุณจะต้องมีรหัสใด ๆ ที่จำเป็นในการเริ่มต้นสถานะของมันก่อนการขอร้องครั้งแรก โปรแกรมของคุณควรรันแบบไม่แน่นอนเพื่อที่จะทำการเดาแบบเดียวกันโดยให้อินพุตเหมือนกัน (และจะได้รับคะแนนเดียวกันเสมอ) คำตอบของคุณจะต้องมีไม่เพียง แต่การส่งของคุณ แต่ยังรวมถึงรหัสที่คุณใช้ในการคำนวณEคะแนนส่วนนั้นด้วย ไม่จำเป็นต้องเขียนในภาษาเดียวกับที่คุณส่งและจะไม่ถูกนับรวมกับจำนวนไบต์ คุณได้รับการสนับสนุนให้อ่านได้ ...

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