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

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

11
ออกแบบเว็บไซต์ใหม่!
หากคุณไม่มี userscript ที่ปรับเปลี่ยนการออกแบบเว็บไซต์ (หรือแม้ว่าจะเป็นเช่นนั้น) คุณควรสังเกตว่าเรามีการออกแบบเว็บไซต์ของเรา! (ตอนนี้เป็นเดือนพฤศจิกายน) ดังนั้นเพื่อเป็นการเฉลิมฉลองลองสร้างโปรแกรมที่ใช้การออกแบบนี้ย้อนยุค (แน่นอนมากเกินไป)! ดังนั้นการเปลี่ยนแปลงที่สำคัญที่สุดคือ: ชื่อใหม่ของเราคือความท้าทายของ Code Golf และการเข้ารหัส เว็บไซต์ของเราไม่ได้เป็นสีน้ำเงินเริ่มต้นอีกต่อไปและจะเป็นสีเขียวเข้มที่ดีแทน ดังนั้นรับสายเปลี่ยน: PPCG ไปยัง CGCC Programming Puzzles {non-whitespace} Code Golfเพื่อCode Golf {same-thing} Coding Challenges(ตัวอย่างเช่นProgramming Puzzles + Code Golf, and Code Golfและ& Code Golfทุกคนจะได้เปลี่ยนไปCode Golf + Coding Challenges, และand Coding Challenges& Coding Challenges #abc ไปยัง #acb (สลับสีน้ำเงินเป็นสีเขียวและกลับกัน - …
57 code-golf  string 

30
Russianify สตริงที่กระตือรือร้น
พวกคุณหลายคนอาจมีปฏิสัมพันธ์กับผู้คนจากรัสเซียบนอินเทอร์เน็ตในบางจุดและบางส่วนของคุณอาจสังเกตเห็นวิธีแปลก ๆ เล็กน้อยที่พวกเขาแสดงออก เช่น удали игру нуб))) ที่)))มีการเพิ่มเพื่อเน้นข้อความก่อนหน้านี้ฉันได้ทำงานในทฤษฎีที่อัตราส่วนของ)ต่อส่วนที่เหลือของสตริงเป็นสัดส่วนโดยตรงกับจำนวนการเน้นนัย แต่ฉันมักจะคิดว่ามันยากที่จะคำนวณอัตราส่วน ในขณะที่ฉันพยายามจัดการกับการใช้งานที่ไม่เหมาะสมดังนั้นฉันต้องการรหัสสั้นที่สุดที่เป็นไปได้เพื่อช่วยฉันคำนวณสิ่งที่สตริงผลลัพธ์ควรเป็นเพราะค่าความกระตือรือร้นระหว่าง 0 ถึง 500% ตามต้นฉบับ สตริง unenthusiastic นี้จะช่วยการวิจัยของฉันอย่างมากเพราะฉันจะไม่ต้องพิมพ์สคริปต์ขนาดใหญ่ทุกครั้งที่ฉันต้องการทดสอบสมมติฐานของฉัน ดังนั้นความท้าทาย: เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบซึ่งให้สองข้อโต้แย้งสตริงที่ไม่รู้จักความยาวและตัวเลขในรูปแบบจำนวนเต็ม (ระหว่าง 0 และ 500) หรือในรูปแบบทศนิยม (ระหว่าง 0 และ 5 ด้วยความแม่นยำ 2 คะแนน) ผลตอบแทน / แสดงสายเดิม, suffixed กับจำนวนของ)'s จำนวนจะถูกคำนวณเป็นอัตราส่วนของจำนวนอินพุตต่อความยาวสตริง ดังนั้นถ้าจำนวน 200 หรือ 2.00 ถูกจัดให้ 200% ของสตริงจะต้องเป็น suffixed )'s จำนวนของวงเล็บเหลี่ยมจะอยู่ในสถานการณ์ทศนิยมไม่สำคัญ ต้องใช้สคริปต์เพื่อสนับสนุนอักขระ ASCII ที่พิมพ์ได้ …
57 code-golf  string 

30
“ DDoouubbllee ssppeeaakk !!”
ความท้าทายสุด ๆ ในวันนี้หรือไม่? ฉันรู้สึกว่าเราได้ยินเรื่องที่ยุติธรรมเกี่ยวกับการพูดสองครั้งเมื่อเร็ว ๆ นี้เรามานิยามกันในวิธีการเข้ารหัส ... Double Speech คือการพูดซ้ำทุกอักขระทุกตัวในสตริงข้อความทันที ตัวอย่างเช่น: "DDoouubbllee ssppeeaakk!!" กฎระเบียบ เขียนโค้ดซึ่งยอมรับหนึ่งอาร์กิวเมนต์เป็นสตริง มันจะแก้ไขสายนี้ซ้ำทุกตัวละคร จากนั้นมันจะคืนค่าสายอักขระการพูดสองครั้ง มันคือรหัสกอล์ฟพยายามที่จะทำให้สำเร็จในจำนวนไบต์ที่น้อยที่สุด โปรดใส่ลิงค์ไปยังล่ามออนไลน์สำหรับรหัสของคุณ สตริงอินพุตจะมีอักขระในช่วง ASCII ที่พิมพ์ได้เท่านั้น การอ้างอิง: http://www.asciitable.com/mobile/ ลีดเดอร์ นี่คือตัวอย่างข้อมูลเพื่อสร้างทั้งกระดานผู้นำปกติและภาพรวมของผู้ชนะตามภาษา แสดงตัวอย่างรหัส var QUESTION_ID=188988; var OVERRIDE_USER=53748; var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;function answersUrl(d){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+d+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(d,e){return"https://api.stackexchange.com/2.2/answers/"+e.join(";")+"/comments?page="+d+"&pagesize=100&order=asc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(d){answers.push.apply(answers,d.items),answers_hash=[],answer_ids=[],d.items.forEach(function(e){e.comments=[];var f=+e.share_link.match(/\d+/);answer_ids.push(f),answers_hash[f]=e}),d.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(d){d.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),d.has_more?getComments():more_answers?getAnswers():process()}})}getAnswers();var SCORE_REG=function(){var d=String.raw`h\d`,e=String.raw`\-?\d+\.?\d*`,f=String.raw`[^\n<>]*`,g=String.raw`<s>${f}</s>|<strike>${f}</strike>|<del>${f}</del>`,h=String.raw`[^\n\d<>]*`,j=String.raw`<[^\n<>]+>`;return new RegExp(String.raw`<${d}>`+String.raw`\s*([^\n,]*[^\s,]),.*?`+String.raw`(${e})`+String.raw`(?=`+String.raw`${h}`+String.raw`(?:(?:${g}|${j})${h})*`+String.raw`</${d}>`+String.raw`)`)}(),OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(d){return d.owner.display_name}function process(){var d=[];answers.forEach(function(n){var o=n.body;n.comments.forEach(function(q){OVERRIDE_REG.test(q.body)&&(o="<h1>"+q.body.replace(OVERRIDE_REG,"")+"</h1>")});var p=o.match(SCORE_REG);p&&d.push({user:getAuthorName(n),size:+p[2],language:p[1],link:n.share_link})}),d.sort(function(n,o){var p=n.size,q=o.size;return p-q});var …
57 code-golf  string 

30
อีกหนึ่ง LUL และฉันก็ออกไป
คำอธิบายการท้าทาย ในบางช่องทางบนเว็บไซต์สตรีมมิ่งtwitch.tvข้อความทั่วไปที่คนมักจะสแปมในการแชทเพื่อล่อลวงคนให้เข้าสู่สแปม "LUL" คือ One more LUL and I'm out LULเป็นอีโมติคอนยอดนิยมที่ใช้แสดงว่ามีอะไรตลก ๆ เกิดขึ้นในสตรีม ในไม่ช้า dank memes แสดงศักยภาพของพวกเขาและการเลียนแบบพาสต้าที่เกิดขึ้น: One more "One more LUL and I'm out" and I'm out ซึ่งเป็นข้อความเดียวกันซ้อนในตัวเอง ให้เป็นจำนวนเต็มไม่เป็นลบNเอาท์พุทNเวลาที่ซ้อนกัน LUL- พาสต้าในตัวเองตามรูปแบบด้านล่าง ใช้กฎรหัสกอล์ฟมาตรฐานรหัสที่สั้นที่สุดเป็นไบต์ชนะ ตัวอย่างอินพุต / เอาต์พุต 0: One more LUL and I'm out 1: One more "One more LUL and …
57 code-golf  string 

30
แสดงโลโก้ Hacker
คุณอาจเคยได้ยิน "Hacker Logo" หรือที่เรียกว่า "Hacker Emblem" ดูเหมือนว่านี้: นี่คือรูปแบบจากการจำลองทางคณิตศาสตร์ที่เรียกว่า Game of Life เครื่องร่อนเป็นรูปแบบชีวิตที่ง่ายที่สุดที่เคลื่อนไหวและเป็นที่จดจำได้ทันทีในทุกรูปแบบชีวิต ความท้าทาย ความท้าทายนั้นง่ายมาก: แสดงโลโก้ของแฮ็กเกอร์ สิ่งนี้ถูกกำหนดเป็น: ตาราง 3x3 ที่มีเส้นขอบพื้นหลังสีขาวและเส้นกริดสีเทา จุดสีดำห้าจุดจัดเรียงในรูปแบบเครื่องร่อน GoL ไม่มีอะไรอีกแล้ว. กฎระเบียบ จุดสีดำจะต้องเติม40% - 80%ของกล่องกริดแต่ละอัน คุณจะแสดงสัญลักษณ์ที่มีผลกราฟิก แต่ไม่มีศิลปะ ASCII การส่งออกต้องมีอย่างน้อย30x30 พิกเซล ผลลัพธ์จะต้องมีสีเทาดำและขาวเท่านั้น กล่องกริดแต่ละตัวในกริดจะมีขนาดเท่ากัน ตารางจะเป็นตาราง 3x3 ปกติ คุณไม่สามารถดึงโลโก้จากอินเทอร์เน็ตหรือระบบไฟล์ของคุณ โปรแกรมของคุณจะแสดงโลโก้บนหน้าจอ / หน้าต่างว่าง ถ้ามันยุติก็ต้องทำตามปกติ โปรดทราบว่า "จุด" ไม่ได้แปลว่า "แวดวง" "จุด" เป็นรูปทรงเรขาคณิตเดียวที่อยู่ตรงกลางของกล่องตารางที่มีพื้นผิวเดียว ตัวอย่างเช่นในขณะที่วงกลมหรือสี่เหลี่ยมจะมีคุณสมบัติเป็นจุดสองสามเหลี่ยมหรือกระดานหมากรุกจะไม่ ผู้ชนะ เนื่องจากนี่คือcode-golfคำตอบที่สั้นที่สุดในแต่ละภาษาจะเป็นผู้ชนะ! …

30
ใหญ่หรือน้อย Endian
เขียนโปรแกรมหรือฟังก์ชั่นที่ให้ผลลัพธ์Lถ้าเรียกใช้บนสถาปัตยกรรม endian เล็ก ๆ น้อย ๆ หรือBถ้าเรียกใช้บนสถาปัตยกรรม endian ขนาดใหญ่ ตัวพิมพ์เล็กlหรือbเป็นที่ยอมรับ ไม่มีอินพุต การให้คะแนนคือโค้ดกอล์ฟดังนั้นโค้ดที่มีจำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ แก้ไข: ตามความคิดเห็นด้านล่างฉันชี้แจงว่ารายการจะต้องสามารถทำงานบนสถาปัตยกรรมใดก็ได้ ฉันเชื่อว่ามีคำตอบเดียวที่ส่งผลกระทบต่อและคำตอบนั้นระบุอย่างชัดเจนว่าเป็นกรณีนี้
57 code-golf 

27
กำลังแคร็ก
จำโปรแกรมที่กำลังดุร้ายเหล่านั้นที่จะถอดรหัสรหัสผ่านที่แสดงชุดค่าผสมที่พวกเขากำลังพยายามหรือไม่ แม่นยำมากขึ้นเมื่อถึงจุดหนึ่งที่nตัวละครแรกที่ได้รับการแก้ไข (พวกเขาได้รับการคาดเดาที่ประสบความสำเร็จ) และตัวละครทุกตัวที่เป็นไปได้สำหรับคนที่เหลือจะถูกทดสอบ คุณอาจเคยเห็นในภาพยนตร์หรือซอฟต์แวร์ที่เขียนโดยคนที่ชอบอินเทอร์เฟซแฟนซี ขออภัยที่ทำให้ผิดหวัง แต่เราจะไม่เขียนโปรแกรมเพื่อถอดรหัสรหัสผ่านเพียงอันเดียวเพื่อสร้างผลลัพธ์ที่ดี ท้าทาย รับสตริงที่มีอักขระ ASCII ที่พิมพ์ได้ แต่ไม่มีการขึ้นบรรทัดใหม่ (รหัส ASCII 32 ถึง 126 หรือจับคู่ regex ^[ -~]{2,}$) ให้พิมพ์ผลลัพธ์ตามกฎนี้: ในช่วงเวลาt=n secondsที่nตัวละครแรกที่พิมพ์เป็นnตัวอักษรแรกของสายป้อน หลังจากnตัวอักษรคงที่คุณควรผนวกสตริงที่มีตัวอักษรแบบสุ่ม (เลือกหลอกแบบสุ่มโดยสม่ำเสมอจากช่วง Unicode ถึง~(รหัส 32 ถึง 126)) เพื่อสร้างสตริงของความยาวของอักขระเริ่มต้น คุณควรส่งออกอย่างน้อย (มากกว่านั้นในภายหลัง) 20 บรรทัดทุกวินาที: ทุกคนจะมีnตัวอักษรตัวแรกเหมือนกัน อาจไม่ชัดเจนมากนัก แต่เป็นสิ่งที่คุณควรทำดังนั้นลองมาดูตัวอย่าง: ตัวอย่าง ฉันจะพิมพ์ 5 บรรทัดที่แตกต่างกันทุก ๆ วินาทีแทนที่จะเป็น 20 ขั้นต่ำเพื่อให้อ่านง่ายขึ้น abcdeพิจารณาการป้อนข้อมูล ในช่วงวินาทีแรกเอาต์พุตที่ถูกต้องอาจเป็นสิ่งที่ (สุ่มสมบูรณ์): …

30
วาดรูปสามเหลี่ยมดอกจัน
แรงบันดาลใจจากภารกิจในการเขียนโปรแกรม 101 นี่คืองานที่หวังว่าจะไม่ง่ายเกินไปหรือซ้ำซ้อน (ยากที่จะค้นหาสิ่งเช่นนี้) การป้อนข้อมูล: n >= 1เป็นจำนวนเต็มบวก เอาท์พุท: n บรรทัดของเครื่องหมายดอกจันที่ทุกบรรทัดใหม่มีเครื่องหมายดอกจันมากกว่าบรรทัดก่อนหน้าและเริ่มต้นด้วยเครื่องหมายดอกจันหนึ่งตัวในบรรทัดแรก กฎทั่วไป: นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ เนื่องจากหลักสูตรได้รับการสอนใน C ++ ฉันกระตือรือร้นที่จะเห็นวิธีแก้ปัญหาใน C ++ กรณีทดสอบ (n = 5): * ** *** **** *****

30
พิมพ์ N Squared
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็ม N ที่ไม่เป็นลบจาก stdin หรือเป็นอาร์กิวเมนต์ของฟังก์ชัน มันจะต้องพิมพ์หรือส่งกลับสตริงของตารางศิลปะ ASCII กลวงซึ่งแต่ละด้านทำด้วย N สำเนาของหมายเลข N โดยเฉพาะ: ถ้า N คือ0ไม่ใช้สำเนาของ N ดังนั้นจึงไม่ควรมีเอาต์พุต (หรือขึ้นบรรทัดใหม่เพียงบรรทัดเดียว) ถ้า N คือ1ผลลัพธ์คือ: 1 ถ้า N คือ2: 22 22 ถ้า N คือ3: 333 3 3 333 ถ้า N คือ4: 4444 4 4 4 4 4444 ถ้า N คือ5: 55555 5 5 5 …

8
ทำให้จูบงูยืด
งูยืดมีลักษณะบางอย่างเช่นนี้ <||=|||:)~ แต่ละลำดับของแถบแนวตั้ง ( |) ในงูที่ยืดออกซึ่งรู้จักกันในชื่อส่วนยืดนั้นสามารถขยายความกว้างเป็นสองเท่าแยกจากกันและถูกวาดด้วยเครื่องหมายสแลช ( /, \) เมื่อขยายออก งูข้างต้นโดยเฉพาะมีสองส่วนที่ยืดได้ทำให้มีสี่ท่าที่เป็นไปได้: <||=|||:)~ </\/\=|||:)~ <||=/\/\/\:)~ </\/\=/\/\/\:)~ รูปแบบทั่วไปของงูถ่างในท่ายืดน้อยที่สุดถูกกำหนดโดยregex นี้ : <(\|+=)*\|+:\)~ ซึ่งสามารถระบุไว้ในคำว่า: <ตามด้วยหมายเลขของลำดับใด ๆ|'s เข้าร่วมกับอาการตามมาด้วย=:)~ ดังนั้น<|:)~และ<||:)~และ<|=|:)~และ<|=|=||=|||||=||:)~เป็นงูยืด แต่<=:)~และ<=|:)~และ<||=:)~และ<|==||:)~ไม่ใช่ ~(:|||=||>งูยืดยังสามารถเผชิญซ้ายแทนขวาเช่น แบบฟอร์มเหมือนกันเพียงมิร์เรอร์ ท้าทาย เขียนโปรแกรมที่ใช้ในสตริงบรรทัดเดียวของงูยืดสองตัวที่หันเข้าหากันโดยมีช่องว่างจำนวนหนึ่งอยู่ระหว่างนั้น งูทั้งสองจะอยู่ในท่ายืดน้อยที่สุด (แถบแนวตั้งทั้งหมดไม่มีสแลช) สตริงจะเริ่มต้นด้วยหางของงูที่หันไปทางขวาและจบลงด้วยหางของงูที่หันไปทางซ้าย ตัวอย่างเช่นต่อไปนี้เป็นข้อมูลป้อนเข้าที่มีห้าช่องว่างระหว่างงู: <|=||:)~.....~(:||||> ฉันกำลังใช้เครื่องหมายจุด ( .) แทนอักขระช่องว่างจริงเพื่อความชัดเจน ช่องว่างระหว่างงูยังเป็นอินพุตที่ถูกต้อง: <|=||:)~~(:||||> เราพูดว่างูกำลังจูบกันเมื่อลิ้นของพวกมันสัมผัสเช่นนี้ โปรแกรมของคุณต้องการที่จะขยายการรวมกันของส่วนขยายของทั้งสองของงูเช่นงูบางอย่างที่มีจำนวนน้อยที่สุดของช่องว่างระหว่างพวกเขาไปได้ (โดยไม่ทับซ้อนกัน) เช่นดังกล่าวว่างูมีความใกล้เคียงกับการจูบที่เป็นไปได้ หางทั้งสองของงูนั้นได้รับการแก้ไข แต่หัวและลำตัวของมันสามารถเคลื่อนที่ได้ - เหมาะสำหรับงูที่หันไปทางขวา, ซ้ายสำหรับงูที่หันไปทางซ้าย - …

30
การเพิ่มสไตล์อเล็กซ์
ได้รับแรงบันดาลใจจากความรุ่งโรจน์ของอเล็กซ์เรียนรู้การอาร์เพื่อสิ่งที่ดีมากเราจะต้องสร้างโปรแกรมหนึ่งเดียวที่แท้จริงของอเล็กซ์ขึ้นมาใหม่ การเพิ่มสไตล์ของ Alex ทำงานเช่นนี้ - มีโอกาส 90% ที่จะคืนค่าผลรวมของตัวเลขสองจำนวนที่ได้รับและโอกาส 10% ที่จะเรียกซ้ำอีกครั้ง Alex ได้เพิ่มหมายเลขแรกและหมายเลขที่สอง + 1 ซึ่งหมายความว่าอาจเป็นไปได้ การเพิ่มอาจปิดได้ตั้งแต่ 1 ครั้งขึ้นไป ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบที่ใช้จำนวนเต็มสองจำนวนและ Alex- เพิ่มพวกเขาตามที่กำหนดไว้ คุณอาจคิดว่าโปรแกรมของคุณจะไม่ล้นหากภาษาของคุณไม่มีหางซ้ำ (โปรดทราบว่าคุณไม่จำเป็นต้องใช้มันซ้ำ ๆ ตราบใดที่ความน่าจะเป็นเหมือนเดิม) การดำเนินการอ้างอิง (Groovy) int alexAdd(int a, int b) { int i = new Random().nextInt(11); if(i == 1) { return alexAdd(a,b+1); } else { return a …

10
เทียนน้อยเป็นเรื่องน่าเศร้า วาดเขาเป็นก้อนเมฆเพื่อให้กำลังใจเขา
เทียนน้อยเป็นเรื่องน่าเศร้า วาดเขาเป็นก้อนเมฆเพื่อให้กำลังใจเขา หมายเหตุ: การวาดภาพบนคลาวด์จะไม่ทำให้เขามีกำลังใจ วงกลมสามารถนิยามเป็น 3-tuple (x,y,r)โดยที่xตำแหน่ง x ของวงกลมบนระนาบคาร์ทีเซียนyคือตำแหน่ง y ของวงกลมบนระนาบคาร์ทีเซียนและrเป็นรัศมีของวงกลม xและyอาจเป็นลบ rเป็นบวกเสมอ อินพุตเป็นรายการของวงกลมในรูปแบบของช่องว่างคั่น 3-tuples ตัวอย่างเช่น 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 3,1,1หมายถึง "วงกลมที่มีจุดศูนย์ที่3,11 รัศมี. 3,2,1.5หมายความว่า" วงกลมที่มีจุดศูนย์กลางที่ A 3,2พร้อมกับ 1.5 รัศมี หากเราวาดวงกลมทั้งหมดของอินพุตบนกราฟดูเหมือนว่านี้ (ฉันได้รวมเส้นกริดและป้ายกำกับเพื่อความชัดเจนเท่านั้นพวกเขาไม่จำเป็นต้องใช้): สังเกตว่าวงกลมทั้งหมดกลมกลืนกันอย่างไร นั่นคือพวกเขาทั้งหมดซ้อนทับกันเพื่อให้เกิดกลุ่มใหญ่กลุ่มหนึ่งโดยไม่มีกลุ่มวงกลมเล็ก ๆ แยกออกจากส่วนที่เหลือ อินพุตรับประกันว่าจะเหนียวแน่น สมมติว่าตอนนี้เราวาดเส้นที่เดินทางรอบ "เส้นขอบ" ที่เกิดจากวงกลมเหล่านี้โดยไม่มีเส้นอื่นใด มันจะเหมือนกับการวาดเส้นขอบของเงาที่เกิดจากวงกลมทั้งหมด เมฆที่เกิดขึ้นจะมีลักษณะเช่นนี้: ดังนั้นคลาวด์นี้จึงถูกสร้างขึ้นโดยการวาดเฉพาะส่วนโค้งของวงกลมในอินพุตที่ก่อตัวเป็นเส้นขอบ กล่าวอีกนัยหนึ่งระบบคลาวด์เกิดจากการวาดส่วนโค้งที่ไม่ได้อยู่ในวงกลมอื่น โปรแกรมของคุณจะป้อนข้อมูลในแบบฟอร์มที่อธิบายข้างต้นและส่งภาพที่แสดงคลาวด์ที่เกิดขึ้น รูปร่างโดยรวมของคลาวด์จะต้องถูกต้อง แต่ขนาดสีความหนาของเส้นและลักษณะของจุดยอดนั้นขึ้นอยู่กับคุณ โปรดทราบว่าคลาวด์ต้องสามารถมองเห็นได้ดังนั้นคุณไม่สามารถดึงบางสิ่งบางอย่างเช่น "โปรแกรมนี้วาดคลาวด์สีขาวบนพื้นหลังสีขาว", "โปรแกรมนี้วาดคลาวด์ในระดับที่เล็กที่สุด", …

9
xkcd challenge:“ เปอร์เซ็นต์ของหน้าจอที่เป็น [x] สี”
ดังนั้นฉันคิดว่าเราทุกคนคงเคยเห็นการ์ตูน xkcd นี้ : : นี่อาจเป็นเรื่องทั่วไปหรือยากเกินไปฉันไม่แน่ใจ แต่ความท้าทายคือการสร้างโปรแกรมในภาษาใด ๆ ที่สร้างหน้าต่างที่มีอย่างน้อย 2 สีและแสดงเป็นคำภาษาอังกฤษเปอร์เซ็นต์ของหน้าจอคือแต่ละสี อดีต วิธีที่ง่ายที่สุดจะเป็นพื้นหลังสีขาวพร้อมตัวอักษรสีดำที่อ่าน "เปอร์เซ็นต์ของภาพนี้ที่เป็นสีดำ: [x]% ร้อยละของภาพนี้ที่เป็นสีขาว: [y]%" คุณสามารถไปบ้าหรือง่ายเท่าที่คุณต้องการ; ข้อความล้วนเป็นทางออกที่ถูกต้อง แต่ถ้าคุณสร้างภาพที่น่าสนใจเหมือนในการ์ตูน xkcd นั่นก็ดีกว่า! ผู้ชนะจะเป็นทางออกที่สนุกและสร้างสรรค์ที่สุดที่ได้รับคะแนนโหวตสูงสุด ดังนั้นออกไปทำสิ่งที่สนุกและคุ้มค่ากับ xkcd! :) ดังนั้นสิ่งที่คุณคิดว่า? ฟังดูเหมือนเป็นเรื่องสนุก :) โปรดรวมภาพหน้าจอของโปรแกรมของคุณที่ทำงานอยู่ในคำตอบของคุณ :)

30
เขียนโปรแกรมการระบุตนเองที่สั้นที่สุด (ชุดตัวเลือก quine)
เขียนโปรแกรมที่จะสร้างเอาต์พุต "true" ถ้า ifตรงกับซอร์สโค้ดของโปรแกรมและสร้างเอาต์พุต "false" ถ้า if อินพุตไม่ตรงกับซอร์สโค้ดของโปรแกรม ปัญหานี้สามารถอธิบายได้ว่าเกี่ยวข้องกับ quines เนื่องจากโปรแกรมจะต้องสามารถคำนวณซอร์สโค้ดของตนเองในกระบวนการได้ นี่คือรหัสกอล์ฟ: ใช้กฎมาตรฐาน โปรแกรมของคุณจะต้องไม่เข้าถึงไฟล์พิเศษใด ๆ เช่นไฟล์ของซอร์สโค้ดของมันเอง แก้ไข: หากคุณเลือกตัวเลือกจริง / เท็จสามารถถูกแทนที่ด้วยจริง / เท็จหรือ 1/0 ตัวอย่าง หากซอร์สโค้ดของโปรแกรมของคุณคือbhiofvewoibh46948732));:/)4นี่คือสิ่งที่โปรแกรมของคุณต้องทำ: อินพุต (Stdin) bhiofvewoibh46948732));:/)4 เอาต์พุต (Stdout) true อินพุต (Anything other than your source code) เอาท์พุต false

30
ฐานทั้งหมดของคุณเป็นของเรา (ถูก จำกัด )
ไม่จำเป็นต้องป้อนข้อมูลและเอาต์พุตต้องอ่าน " All your base are belong to us" ข้อ จำกัด ไม่มีทรัพยากรภายนอก บวกอย่างน้อยสองอย่างต่อไปนี้: คุณไม่สามารถใช้ "a", "b", "t", "u" หรือ "y" ไม่ว่าในกรณีใดในรหัสของคุณ (โบนัส -10 ถึงคะแนนกอล์ฟของคุณหากคุณสามารถทำได้) คุณไม่สามารถใช้ "l", "o", "s", "e" หรือ "r" ไม่ว่าในกรณีใดในรหัสของคุณ (โบนัส -20 ถึงคะแนนกอล์ฟของคุณหากคุณทำได้) คุณไม่สามารถใช้ "n", "g", "0", "1" หรือ "2" ไม่ว่าในกรณีใดในรหัสของคุณ (โบนัส -30 ถึงคะแนนกอล์ฟของคุณหากคุณสามารถทำได้) ตัวอย่างเช่นถ้าคุณจัดการเพื่อให้ได้รหัสที่มี 40 ตัวอักษรและใช้กฎที่ 1 …

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