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

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

7
ย้อนกลับสถิติการสำรวจความคิดเห็นของวิศวกร
บทนำ เมื่อได้รับชุดเปอร์เซ็นต์ของตัวเลือกในการสำรวจให้คำนวณจำนวนขั้นต่ำของผู้ลงคะแนนที่จะต้องมีในการสำรวจเพื่อสร้างสถิติเหล่านั้น ตัวอย่าง: สัตว์เลี้ยงตัวโปรดของคุณคืออะไร? หมา: 44.4% แมว: 44.4% เมาส์: 11.1% เอาต์พุต: 9(จำนวนผู้ลงคะแนนต่ำสุดที่เป็นไปได้) รายละเอียด นี่คือข้อกำหนดสำหรับโปรแกรม / ฟังก์ชั่นของคุณ: คุณจะได้รับอาร์เรย์ของค่าร้อยละเป็นอินพุต (บน stdin, เป็นฟังก์ชั่นการโต้แย้ง ฯลฯ ) ค่าเปอร์เซ็นต์แต่ละค่าจะถูกปัดเศษเป็นทศนิยมหนึ่งตำแหน่ง (เช่น, 44.4 44.4 11.1) คำนวณจำนวนผู้ลงคะแนนขั้นต่ำที่เป็นไปได้ในการสำรวจความคิดเห็นซึ่งผลลัพธ์จะให้เปอร์เซ็นต์ที่แน่นอนเมื่อปัดเศษเป็นทศนิยมหนึ่งตำแหน่ง (บน stdout หรือค่าส่งคืนฟังก์ชัน) โบนัส : -15 ตัวอักษรหากคุณสามารถแก้ปัญหาได้ในแบบ "ไม่สำคัญ" (กล่าวคือไม่เกี่ยวข้องกับการวนซ้ำของจำนวนผู้มีสิทธิเลือกตั้งที่เป็นไปได้ทั้งหมดจนกว่าคุณจะพบคนแรกที่ทำงาน) ตัวอย่าง >./pollreverse 44.4 44.4 11.1 9 >./pollreverse 26.7 53.3 20.0 15 >./pollreverse 48.4 …

4
ฉากหิมะเคลื่อนไหว ASCII
จงเขียนโปรแกรมที่สั้นที่สุดที่จะทำให้ชิ้นส่วนของศิลปะ ASCII ใด ๆ ลงในฉากหิมะเคลื่อนไหวที่จะเริ่มขึ้นในรูปแบบจากหิมะตก ( ตัวอย่างที่ไม่แข็งแรงเล่นกอล์ฟ JavaScriptปรับปรุงล่าสุด 2011/12/19) ข้อมูลจำเพาะของการป้อนข้อมูล : โปรแกรมของคุณจะต้องยอมรับช่องว่าง, เครื่องหมายดอกจันและการขึ้นบรรทัดใหม่โดยพลการ อินพุตจะมีได้สูงสุด 23 บรรทัดและ 80 อักขระต่อบรรทัด จะไม่มีบรรทัดว่างเปล่า แต่บรรทัดอาจประกอบด้วยช่องว่างเท่านั้น ขึ้นบรรทัดใหม่ที่ต่อท้ายเดียวจะรวมอยู่และจะต้องละเว้น เอาต์พุต : อักขระ ASCII เอาต์พุต (ช่องว่าง, เครื่องหมายดอกจัน) และรหัสควบคุม (carriage return, linefeeds, รหัสหลบหลีก ANSI ฯลฯ ) สำหรับคอนโซลข้อความของระบบปฏิบัติการหรือเทอร์มินัลอีมูเลเตอร์จนกว่าผู้ใช้จะยกเลิกโปรแกรมด้วยตนเอง คุณอาจถือว่าหน้าต่างเทอร์มินัลคือ 80x24 ตัวอักษรหากระบบปฏิบัติการของคุณอนุญาตการตั้งค่านั้น กฎ : ภาพเคลื่อนไหวจะต้องราบรื่นและรวดเร็ว (ต้องการ 15 fps) ความหนาแน่นของหิมะจะต้องอยู่ระหว่าง 5% ถึง 15% …

30
โปรแกรมที่ลบตัวเอง
หากใช้ภาษาที่คอมไพล์โปรแกรมจะต้องลบไฟล์ที่ประมวลผลได้ (แต่ไม่จำเป็นต้องลบไฟล์ต้นฉบับ) หากใช้ภาษาที่ตีความแล้วโปรแกรมจะต้องลบไฟล์ต้นฉบับ ราคาเปิดของฉัน: Python (29 ตัวอักษร) import os;os.remove(__file__) แก้ไข: เพื่อป้องกันการแก้ไขปัญหาเช่นrm -rf / , โปรแกรมจะต้องไม่ลบสิ่งใดนอกจากไฟล์เรียกทำงานหรือซอร์สไฟล์ html,body{margin:0;padding:0;height:100%;overflow:hidden} <iframe src="https://xmikee1.github.io/ppcg-leaderboard/?id=19355" width="100%" height="100%" style="border:none;">Oops, your browser is too old to view this content! Please upgrade to a newer version of your browser that supports HTML5.</iframe> เรียกใช้ข้อมูลโค้ดHide resultsขยายตัวอย่างข้อมูล

9
ชื่อมือโป๊กเกอร์
ชื่อมือโป๊กเกอร์ ให้ไพ่ห้าใบส่งชื่อมือโป๊กเกอร์ซึ่งจะเป็นหนึ่งใน: High card One pair Two pair Three of a kind Straight Flush Full house Four of a kind Straight flush Royal Flush หากมีข้อสงสัยโปรดดูกฎที่http://en.wikipedia.org/wiki/List_of_poker_hands อินพุต ไพ่ 5 ใบจากอาร์กิวเมนต์ stdin หรือ commandline การ์ดเป็นสตริงตัวอักษรสองตัวบนแบบฟอร์มRSโดยที่ R คืออันดับและ S เป็นชุด การจัดอันดับคือ2- 9(ไพ่ตัวเลข), T(สิบ), J(แจ็ค), Q(ราชินี), K(ราชา), A(Ace) ชุดมีS, D, H, Cสำหรับจอบ, เพชร, หัวใจและคลับตามลำดับ …
22 code-golf  game 

11
การประมาณเหตุผลที่ดีของ pi
เขียนโปรแกรมที่พิมพ์การประมาณเหตุผลที่ดีทั้งหมดของ pi ด้วยตัวส่วน <1000000 เพื่อเพิ่มลำดับตัวส่วน a/bคือ "เหตุผลประมาณดี" ของพี่ถ้ามันเป็นความใกล้ชิดกับปี่กว่าที่อื่น ๆ bที่มีเหตุผลกับตัวหารไม่ใหญ่กว่า ผลลัพธ์ควรมีทั้งหมด 167 บรรทัดและเริ่มต้นและสิ้นสุดดังนี้: 3/1 13/4 16/5 19/6 22/7 179/57 ... 833719/265381 1146408/364913 3126535/995207 โปรแกรมที่สั้นที่สุดชนะ

10
Meta Golf Challenge
ในการท้าทายนั้นคุณจะต้องแก้ปัญหานั้น การประกวดจบแล้ว! ตรวจสอบจุดสิ้นสุดของคำถาม รายละเอียด: เขียนรหัสที่เล็กที่สุด (ทุกภาษา *) คะแนนของคำตอบคือผลรวมของ: ความยาวของรหัสโดยไม่ต้องเว้นวรรค จำนวนคำตอบโดยใช้ภาษาเดียวกันนั้นกำลังสอง ความยาวของชื่อภาษาที่ยิ่งใหญ่ที่สุดในการแข่งขันลบความยาวของภาษาของคุณ Downvotes ลบ Upvotes (ลบด้วยจำนวนโหวตทั้งหมด) เขียนตำแหน่งของผู้ใช้และคะแนน ผู้ใช้แต่ละคนสามารถเขียนได้คำตอบเดียวเท่านั้น คะแนนต่ำสุดชนะ การทดสอบ: ดังนั้นเมื่อสิ้นสุดการแข่งขันข้อมูลที่เป็นไปได้อาจเป็น (STDIN): คอลัมน์คือ: ชื่อผู้ใช้ภาษาความยาวโค้ด (โดยไม่มีช่องว่าง) และ TotalVotes UserA Python 100 1 UserB Perl 30 2 UserC Java 500 3 UserD Brainfuck 499 4 UserE Perl 29 5 หากชื่อผู้ใช้ของคุณมีช่องว่างเช่น "ชื่อผู้ใช้ของฉัน" มันจะกลายเป็น "MyUserName" …

13
มด ASCII ของ Langton
วาดเส้นทางของมดแลงตัน ลักษณะ สี่เหลี่ยมบนเครื่องบินมีสีต่างกันไม่ว่าจะเป็นสีดำหรือสีขาว เราระบุหนึ่งตารางโดยพลการว่า "มด" มดสามารถเดินทางไปในทิศทางที่สำคัญทั้งสี่ในแต่ละขั้นตอน มดเคลื่อนไหวตามกฎด้านล่าง: ที่สี่เหลี่ยมสีขาวเลี้ยวขวา 90 °พลิกสีของสี่เหลี่ยมเลื่อนไปข้างหน้าหนึ่งยูนิต ที่สี่เหลี่ยมสีดำเลี้ยวซ้าย 90 °พลิกสีของสี่เหลี่ยมเลื่อนไปข้างหน้าหนึ่งยูนิต ข้อมูลจำเพาะ อินพุต: จำนวนเต็ม N ระหว่าง 0 ถึง 725 (รวม) เอาต์พุต: ตาราง 17 คูณ 17 แสดงถึง "เส้นทาง" ของ ant ตามขั้นตอน N กฎระเบียบ มดเริ่มหันขวา (นาฬิกา 3 นาฬิกา) มดเริ่มต้นที่กึ่งกลางของตาราง ใช้_#@สำหรับสี่เหลี่ยมสีขาวสี่เหลี่ยมดำและมดตามลำดับ ตอนแรกกริดนั้นเป็นสีขาวสนิท คุณอาจสร้างโปรแกรมที่สมบูรณ์หรือฟังก์ชั่นในภาษาที่ตีความ อินพุตโดย stdin หรืออาร์กิวเมนต์ ตัวอย่าง อัปเดต:เอาต์พุตของ N = 450 …

18
ภาพยนตร์เรื่อง“ Deaf Grandma” ของ Chris Pine
ฉันเป็นที่ปรึกษาของ RubyLearning และหนึ่งในแบบฝึกหัดที่เรามอบให้กับนักเรียนของเราคือแบบฝึกหัด "คนหูหนวกคุณยาย" จากหนังสือของ Chris Pine " Learn to Program " นี่คือคำอธิบาย: เขียนโปรแกรม Deaf Grandma ไม่ว่าคุณจะพูดอะไรกับคุณย่า (ไม่ว่าคุณจะพิมพ์อะไร) เธอควรตอบด้วย: "อืม?! พูดออกมานี่ซันนี่!" เว้นแต่คุณจะตะโกน (พิมพ์ทุกประเภท) หากคุณตะโกนเธอจะได้ยินคุณ (หรืออย่างน้อยเธอก็คิดอย่างนั้น) และตะโกนกลับมาว่า: "ไม่ไม่ใช่ตั้งแต่ปี 1938!" เพื่อให้โปรแกรมของคุณน่าเชื่อถือจริงๆให้คุณยายตะโกนปีละครั้งกัน อาจสุ่มปีใดก็ได้ระหว่างปี 1930 ถึง 1950 (ส่วนนี้เป็นทางเลือกและจะง่ายกว่ามากถ้าคุณอ่านส่วนของตัวสร้างหมายเลขสุ่มของ Ruby ที่ท้ายบทวิธี) คุณไม่สามารถหยุดคุยกับคุณยายจนกว่าคุณจะ ตะโกน "BYE" หลังจากทำซ้ำหลายคอร์สฉันพยายามดูว่าฉันจะได้ขนาดเล็กแค่ไหนและตอนนี้มีอักขระได้ถึง 112 ตัว: puts (s||='').upcase==s ? "NO, NOT SINCE #{1930+rand(21)}!":"HUH?! SPEAK …
22 code-golf  string 

30
หน้าต่าง Hello World
สร้างหน้าต่างที่กล่าวสวัสดีโลกภายในและไม่มีอะไรอื่น คุณไม่สามารถมีปุ่มตกลงหรือยกเลิกภายใน มันจะต้องเป็นเพียงหน้าต่างธรรมดาที่บอกว่าสวัสดีโลก ฉันไม่สนใจเกี่ยวกับเนื้อหาของกรอบหน้าต่างหรือลักษณะของหน้าต่าง แต่ภายในนั้นต้องบอกว่าสวัสดีโลกเท่านั้น ตัวอย่าง: รหัสที่สั้นที่สุดชนะ แก้ไข: ฉันขอโทษ Johannes Kuhn หน้าต่างต้องอยู่ที่นั่นจริง ๆ มันอาจไม่ได้ปิดทันที ฉันไม่ได้นึกถึงสถานการณ์นี้และไม่ได้คำนึงถึงสิ่งนี้ แก้ไข 2: ขณะนี้เรามี 3 คำตอบผูก (20 ตัวอักษร) ข้อเสนอแนะของผู้ที่ควรจะเป็นผู้ชนะก็ยินดีต้อนรับ

30
การใช้ชุดกำลังไฟที่สั้นที่สุด
นิยามปัญหา พิมพ์ powerset ของชุดที่กำหนด ตัวอย่างเช่น: [1, 2, 3] => [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]] แต่ละองค์ประกอบจะถูกพิมพ์บนบรรทัดแยกดังนั้นตัวอย่างข้างต้นจะถูกพิมพ์เป็น: [] [1] [2] ... [1, 2, 3] โค้ดตัวอย่าง (ในตัวอย่าง D, python ที่นี่ ): import std.stdio; string[][] powerset(string[] set) { if (set.length == 1) { return [set, []]; …

28
ตัวเลขที่ไม่ใช่ศูนย์สุดท้ายของ n!
รับจำนวนเต็ม1 ≤ N ≤ 1,000,000เป็นอินพุตเอาต์พุตหลักที่ไม่ใช่ศูนย์สุดท้ายของN! ที่ไหน! เป็นแฟคทอเรียล (ผลิตภัณฑ์ของตัวเลขทั้งหมดตั้งแต่1ถึงNรวมถึง) นี่คือ OEIS ลำดับA008904 โปรแกรมของคุณต้องการเสร็จสิ้นภายใน 10 วินาทีบนเครื่องที่เหมาะสมสำหรับการป้อนข้อมูลที่ถูกต้องใด ๆ กรณีทดสอบ 1 => 1 2 => 2 3 => 6 4 => 4 5 => 2 6 => 2 7 => 4 8 => 2 9 => 8 10 => 8 100 => 4 1000 …

3
Meta-bowling Golf
งานของคุณคือการสร้างโปรแกรมที่สั้นที่สุด (A) ที่เอาท์พุทโปรแกรมอื่น (B) ด้วยไบต์ที่ไม่ซ้ำกันมากที่สุดซึ่งจะส่งผลให้โปรแกรมต้นฉบับ (A) โดยพื้นฐานแล้วคุณกำลังเล่นกอล์ฟโปรแกรมครึ่งหนึ่งของคู่ouroboros (หรือที่รู้จักกันเป็นระยะซ้ำควินิน) และโบว์ลิ่งอีกครึ่งหนึ่ง A และ B อาจเป็นภาษาต่าง ๆ กฎและเกณฑ์การให้คะแนน <number of unique bytes in B> / <number of bytes in A>คะแนนสุดท้ายของคุณคือ คะแนนสูงสุดชนะ ควรสังเกตว่าคะแนนสูงสุดทางทฤษฎีคือ 256 โปรแกรม A ต้องมีความยาวอย่างน้อยหนึ่งไบต์ โปรแกรม B ไม่สามารถประกอบไปด้วย no-ops ทั้งหมดอย่างน้อยหนึ่งตัวอักษรจะต้องส่งผลกระทบต่อการส่งออกในบางวิธี กฎมาตรฐานของผลการทดสอบทั้งสองโปรแกรม โดยเฉพาะอย่างยิ่งไม่อนุญาตให้ใช้ข้อผิดพลาด quines เพื่อความสอดคล้องของรูปแบบคำตอบให้เริ่มคำตอบด้วยสิ่งต่อไปนี้: # <Language for A> & <Language for B>, …

12
เป็นวันแคนาดาจริงๆเหรอ?
วันที่ 1 กรกฎาคมเป็นวันแคนาดา (yay Canada)! หรือมันคืออะไร? ดูเหมือนว่าหน้าWikipediaสำหรับวันนี้มีเนื้อหาเกี่ยวกับประเทศแคนาดาจำนวนมาก แต่มีอีกวันไหนที่เป็นชาวแคนาดามากกว่า งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งใช้วันที่ (เดือนและวัน) เป็นข้อมูลป้อนเข้าและส่งคืนหรือส่งออกจำนวนการกล่าวถึง "แคนาดา" บนหน้า Wikipedia สำหรับวันที่ป้อน กฎบางอย่าง: วันที่อาจถูกป้อนในรูปแบบที่เหมาะสมตามที่คุณเลือก การส่งของคุณจะต้องดึงข้อมูลจาก en.wikipedia.org/wiki/Month_DayURL เพียง แต่"Canada"จะต้องมีการค้นหาและนับสตริงรวมและเฉพาะในกรณีที่ชื่อ "Canadian"ไม่นับ แต่"Canada's"จะนับ ตราบใดที่ข้อความที่ตรงตามตัวพิมพ์ใหญ่ - เล็ก"Canada"อยู่ในสตริงมันคือการจับคู่ เนื้อหาของหน้าจะถูกพิจารณาว่าเป็น.htmlไฟล์ใด ๆ ภายในไฟล์ที่เกี่ยวข้อง(เช่นสิ่งที่ปรากฏขึ้นหากคุณดาวน์โหลดเป็นหน้า.htmlและเปิดใน Notepad) ผลลัพธ์อาจถูกส่งออกไปยัง STDOUT ส่งคืนหรือแสดงในลักษณะอื่นใดที่สมเหตุสมผล กรณีทดสอบ: July 1 => 34 May 14 => 1 Oct 31 => 2 July 4 => 2 …

8
อ่านจอแสดงผลย้อนยุค
ศิลปะถูกขโมยไปจากตัวเลขขนาดใด ตัวเลข 7 ส่วนสามารถแสดงใน ASCII โดยใช้_|ตัวอักษร นี่คือตัวเลข0-9: _ _ _ _ _ _ _ _ | | | _| _| |_| |_ |_ | |_| |_| |_| | |_ _| | _| |_| | |_| _| งานของคุณคือการแยกวิเคราะห์ศิลปะเป็นตัวเลขปกติ หมายเหตุเกี่ยวกับตัวเลข แต่ละหลักมีความกว้างแตกต่างกัน 1 มีความกว้างของ 1 3และ7มีความ2กว้าง 245689และ0ทั้งหมดที่3กว้าง นอกจากนี้ระหว่างตัวเลขแต่ละหลักยังมีอักขระหนึ่งตัว นี่คือชุดถ่านแบบเต็ม: // <- ควรเป็นหนึ่งช่องว่าง แต่การจัดรูปแบบ …

2
คำนวณโคตร
บทเรียนพันธุศาสตร์เล็กน้อย เมื่อคุณเข้าถึงลักษณะหรือฟีโนไทป์ที่มองเห็นได้ของใครบางคนเชื้อสายของประวัติครอบครัวมักถูกนำมาใช้เพื่อหาข้อมูลทางพันธุกรรมที่แท้จริงหรือจีโนไทป์ของสมาชิกในครอบครัวแต่ละคน เมื่อจัดการกับการปกครองแบบง่าย ๆที่เราจะเป็นแผนภูมิสายเลือดที่เรียบง่ายจะเพียงพอที่จะคิดออกอัลลีลหรือรุ่นของยีนที่พวกเขามีของแต่ละคน ในการปกครองง่าย ๆ คนที่มีอัลลีลที่โดดเด่น (แสดงด้วยตัวพิมพ์ใหญ่) มักจะมีลักษณะที่รุ่นนั้นหมายถึงไม่ว่าอัลลีลอื่น ๆ ต้องใช้อัลลีลแบบถอยกลับสองอัน (แทนด้วยตัวพิมพ์เล็ก) เพื่อแสดงเวอร์ชันนั้น กล่าวอีกนัยหนึ่งอัลลีลที่โดดเด่นมักจะปกปิดรุ่นที่ด้อยของยีนนั้น นี่คือตัวอย่างของแผนภูมิสายเลือด: แต่ละแถวที่นี่เป็นยุค แวดวงเป็นเพศหญิงสี่เหลี่ยมเพศชายเส้นแนวนอนคือการแต่งงานเด็กเส้นแนวตั้ง ค่อนข้างง่าย สีดำหมายถึงฟีโนไทป์ถอยสีขาวที่โดดเด่น เริ่มต้นจากด้านบน (ถือว่าอัลลีลเป็นAและa) เรารู้ว่าคนที่ 2 มีaarecessive homozygous เพราะนั่นเป็นตัวเลือกเดียวที่เป็นไปได้สำหรับฟีโนไทป์ถอย ตอนนี้แม้ว่าคนคนหนึ่งอาจเป็นได้ทั้งฟีโนไทป์AaหรือAAที่โดดเด่นเพราะเขามีเด็กถอยเขาต้องAaหรือ heterozygous คุณสามารถทำสิ่งนี้กับคนอื่นทั้งหมด ในกรณีที่คุณไม่ได้มีข้อมูลใด ๆ A_ที่ช่วยให้คุณสามารถที่จะคิดออกอัลลีลที่สองก็สามารถทำได้เช่นดังนั้น: งานของคุณ คุณจะได้รับแผนภูมิสายเลือดในรูปแบบของรายการของรุ่นเช่น[GenI, GenII, etc.]ในรูปแบบสติใด ๆ แต่ละรุ่นจะเป็นรายการของสตริงแต่ละสตริงแสดงถึงบุคคล ผู้คนประกอบด้วยสามส่วน - รหัสประจำตัวฟีโนไทป์และ "การเชื่อมต่อ" ของพวกเขา ID ของพวกเขาเป็นตัวละครเดียว ASCII พิมพ์ที่เป็นเอกลักษณ์ในทั้งต้นอื่นที่ไม่ใช่หรือA a(ไม่ไม่เกิน 95 คนในแผนภูมิ) …

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