คำถามติดแท็ก code-golf

Code-golf เป็นการแข่งขันเพื่อแก้ไขปัญหาเฉพาะในส่วนที่น้อยที่สุดของซอร์สโค้ด

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

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

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

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% )

30
ทำไฟฉายตัวอักษร!
แรงบันดาลใจจากข้อบกพร่องในการแก้ไขปัญหานี้ความท้าทายของคุณคือการสร้างข้อความที่แน่นอนนี้: ZYXWVUTSRQPONMLKJIHGFEDCBA YXWVUTSRQPONMLKJIHGFEDCBA XWVUTSRQPONMLKJIHGFEDCBA WVUTSRQPONMLKJIHGFEDCBA VUTSRQPONMLKJIHGFEDCBA UTSRQPONMLKJIHGFEDCBA TSRQPONMLKJIHGFEDCBA SRQPONMLKJIHGFEDCBA RQPONMLKJIHGFEDCBA QPONMLKJIHGFEDCBA PONMLKJIHGFEDCBA ONMLKJIHGFEDCBA NMLKJIHGFEDCBA MLKJIHGFEDCBA LKJIHGFEDCBA KJIHGFEDCBA JIHGFEDCBA IHGFEDCBA HGFEDCBA GFEDCBA FEDCBA EDCBA DCBA CBA BA A บรรทัดแรกจะมี 25 ช่องว่างจากนั้นตัวอักษรย้อนกลับเริ่มต้นจากตัวอักษร 26 ( ZYXWVUTSRQPONMLKJIHGFEDCBA) แล้วขึ้นบรรทัดใหม่ บรรทัดที่สองจะมี 24 ช่องว่างจากนั้นตัวอักษรย้อนกลับเริ่มต้นจากตัวอักษรที่ 25 ( YXWVUTSRQPONMLKJIHGFEDCBA) แล้วขึ้นบรรทัดใหม่ ... บรรทัดสุดท้าย (26) จะไม่มีช่องว่างจากนั้นตัวอักษรย้อนกลับเริ่มต้นจากตัวอักษรที่ 1 ( A) แล้วขึ้นบรรทัดใหม่ กฎเพิ่มเติม: …

30
ตัวอักษรแนวทแยง
ไม่มีการป้อนข้อมูลงานของคุณคือสร้างสิ่งต่อไปนี้: a b c d e f g h i j k l m n o p q r s t u v w x y z ไม่ใช่งานของคุณคือสร้างตัวอักษรแต่ละตัวในตัวอักษรโดยมีช่องว่างก่อนที่จะเท่ากับตำแหน่งในตัวอักษรลบหนึ่ง หากคุณพิมพ์สิ่งนี้จะต้องปรากฏดังด้านบน ช่องว่างภายนอกที่ไม่ส่งผลกระทบต่อลักษณะที่ปรากฏรวมถึงบรรทัดใหม่ที่ต่อท้ายจะได้รับอนุญาต คุณสามารถใช้ตัวพิมพ์เล็กทั้งหมดหรือพิมพ์ใหญ่ทั้งหมด นอกจากนี้คุณยังสามารถส่งคืนจากฟังก์ชันตามกฎปกติไม่ว่าจะเป็นสตริงที่มีการขึ้นบรรทัดใหม่หรือรายการสตริง นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ!

30
นี่คือหมอนของฉัน
... คุณจะช่วยฉันให้เป็นอมตะได้ไหม ฉันมีหมอนนี้มากี่ปีแล้วและดูเหมือนว่าถึงเวลาที่ต้องกำจัดมัน คุณช่วยกรุณาเขียนฟังก์ชั่นหรือโปรแกรมที่ฉันสามารถนำมากับฉันและใช้ในการสร้างหมอนนี้เมื่อใดก็ตามที่ฉันต้องการระลึกถึงเล็กน้อย มันจะต้องทำงานโดยไม่มีข้อโต้แย้งอินพุต ผลลัพธ์ควรมีลักษณะเช่นนี้ (ขึ้นบรรทัดใหม่และช่องว่างเป็น OK) /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// \\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\///// นี่คือรหัสกอล์ฟดังนั้นโค้ดที่สั้นที่สุดเป็นไบต์จะชนะ! ลีดเดอร์บอร์ด แสดงตัวอย่างรหัส var QUESTION_ID=98701,OVERRIDE_USER=31516;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 …

5
กำลังโปรแกรม: O (1 ^ N), O (N ^ 1), O (2 ^ N), O (N ^ 2) ทั้งหมดในที่เดียว
เขียนโปรแกรม (หรือฟังก์ชั่น) ที่แสดงความซับซ้อนของเวลาO ขนาดใหญ่ สี่ทั่วไปขึ้นอยู่กับวิธีการทำงาน ในรูปแบบใดก็จะใช้เวลาในจำนวนเต็มบวก N ที่คุณอาจคิดน้อยกว่า 2 วันที่ 31 เมื่อโปรแกรมทำงานในรูปแบบดั้งเดิมควรมีความซับซ้อนคงที่ นั่นคือความซับซ้อนควรจะΘ (1)หรือเท่ากันΘ (1 ^ N) เมื่อโปรแกรมกลับด้านและรันควรมีความซับซ้อนเชิงเส้น นั่นคือความซับซ้อนควรจะΘ (N)หรือเท่ากันΘ (N ^ 1) (สิ่งนี้สมเหตุสมผลเนื่องจากN^1มีการ1^Nย้อนกลับ) เมื่อโปรแกรมสองเท่า , ตัดแบ่งเช่นกับตัวเองและเรียกมันควรจะมีการชี้แจงความซับซ้อนโดยเฉพาะ2 N นั่นคือความซับซ้อนควรจะΘ (2 ^ N) (นี้ทำให้รู้สึกตั้งแต่2ใน2^Nเป็นสองเท่า1ใน1^N.) เมื่อโปรแกรมสองเท่าและย้อนกลับและเรียกมันควรจะมีพหุนามความซับซ้อนโดยเฉพาะN 2 นั่นคือความซับซ้อนควรจะΘ (N ^ 2) (สิ่งนี้สมเหตุสมผลเนื่องจากN^2มีการ2^Nย้อนกลับ) สี่กรณีนี้เป็นกรณีเดียวที่คุณต้องจัดการ โปรดทราบว่าเพื่อความแม่นยำฉันใช้สัญลักษณ์ขนาดใหญ่ที (Θ)แทนO ใหญ่เพราะรันไทม์ของโปรแกรมของคุณจะต้องล้อมรอบทั้งด้านบนและด้านล่างด้วยความซับซ้อนที่จำเป็น มิฉะนั้นเพียงแค่เขียนฟังก์ชั่นใน O (1) จะตอบสนองทั้งสี่จุด มันไม่สำคัญเกินไปที่จะเข้าใจความแตกต่างที่นี่ ส่วนใหญ่หากโปรแกรมของคุณกำลังดำเนินการ …

13
ตัวดำเนินการมาก่อน: ฉันจะผิดได้อย่างไร?
พูดว่าฉันมีการแสดงออก: 9 * 8 + 1 - 4 การแสดงออกนี้สามารถตีความได้ในหกวิธีที่แตกต่างกันขึ้นอยู่กับลำดับความสำคัญของโอเปอเรเตอร์: (((9 * 8) + 1) - 4) = 69 (* + -) ((9 * 8) + (1 - 4)) = 69 (* - +) ((9 * (8 + 1)) - 4) = 77 (+ * -) (9 * ((8 + 1) …

30
Hare Krishna Hare Krishna Krishna Krishna Hare Hare Hare
เมื่อเร็ว ๆ นี้ฉันเคยเห็นคน Hare Krishna พร้อมกับตราสัญลักษณ์ของพวกเขาและฉันพบว่ามันค่อนข้างน่าสนใจในการเขียนโปรแกรมกอล์ฟ ความท้าทาย เขียนมนต์พระกฤษณะเช่น: Hare Krishna Hare Krishna Krishna Krishna Hare Hare Hare Rama Hare Rama Rama Rama Hare Hare เกณฑ์การชนะ นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ! กฎระเบียบ ปลอกจะต้องเก็บรักษาไว้ ข้อความควรมีบรรทัดใหม่ บรรทัดอาจมีช่องว่างต่อท้าย อนุญาตการขึ้นบรรทัดใหม่ แยกจากเว็บหรือทรัพยากรภายนอกอื่น ๆ ไม่ได้รับอนุญาต

27
ไม่ได้ทำเครื่องหมายในช่องทำเครื่องหมาย?
ในการตรวจสอบรหัสฉันพบรหัสต่อไปนี้ซึ่งทดสอบสถานะของช่องทำเครื่องหมาย: if (!isNotUnchecked()) { ... } ฉันต้องระดมสมองเป็นเวลา 30 นาทีเพื่อหาสถานะช่องทำเครื่องหมายที่แท้จริงของรหัสที่ต้องการ โปรดเขียนโปรแกรมที่สามารถทำให้การแสดงออกเหล่านี้ง่ายขึ้น! โปรแกรมที่ควรจะยอมรับเป็น input สตริงเป็นตัวแทนของการแสดงออกเพื่อลดความซับซ้อน (ตัวอย่างเช่น: !isNotUnchecked()) โปรแกรมควรส่งออกเทียบเท่าเหตุผลการแสดงออกที่เรียบง่ายอย่างใดอย่างหนึ่งหรือisChecked()!isChecked() ชื่อวิธีการในการแสดงออกของการป้อนข้อมูลที่มักจะเริ่มต้นด้วยการisมี 0..n Notและจบลงด้วยหรือChecked() วิธีการที่สามารถนำหน้าด้วยจำนวนใดUnchecked() ๆ! ตัวอย่าง isChecked() => isChecked() isUnchecked() => !isChecked() isNotChecked() => !isChecked() !isNotChecked() => isChecked() !!!isNotNotUnchecked() => isChecked()
65 code-golf 

27
“ เมื่อตอนเป็นเด็กฉันได้รับคำบอกเล่าจากแมงมุมว่าไม่มีอารมณ์”
ความท้าทาย: แสดงผลงานศิลปะ ASCII ที่แน่นอนนี้ของใยแมงมุมในหน้าต่าง: _______________________________ |\_____________________________/| || \ | / || || \ /|\ / || || /\'.__.' : '.__.'/\ || || __.' \ | / '.__ || ||'. /\'---':'---'/\ .'|| ||\ '. /' \__ _|_ __/ '\ .' /|| || | /. /\ ' : ' /\ .\ | …

7
Regex Golf: ตรวจสอบโซลูชันของ Sudoku
เขียน regex ที่ตรงกับโซลูชันของซูโดกุที่ถูกต้องและไม่ตรงกับโซลูชันของซูโดกุที่ไม่ถูกต้อง การป้อนข้อมูลที่เป็นคลี่รุ่นของซูโดกุคือไม่มีตัวคั่นบรรทัด เช่นกระดานต่อไปนี้: 7 2 5 8 9 3 4 6 1 8 4 1 6 5 7 3 9 2 3 9 6 1 4 2 7 5 8 4 7 3 5 1 6 8 2 9 1 6 8 4 2 9 5 3 7 …

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