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

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

12
เคล็ดลับการตีกอล์ฟใน Tcl
คุณมีเคล็ดลับอะไรบ้างสำหรับการเล่นกอล์ฟใน Tcl? ฉันกำลังมองหาแนวคิดที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟโดยทั่วไปซึ่งอย่างน้อยค่อนข้างเฉพาะ Tcl (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
15 code-golf  tips 

30
คู่หรือคี่: ผู้เล่นสามคน
มันเป็นเกมสามผู้เล่นเล่นด้วยมือเดียว ในเวลาเดียวกันผู้เล่นแต่ละคนจะแสดงมือของเขาด้วยการขยาย 0 ถึง 5 นิ้ว หากผู้เล่นทุกคนแสดงหมายเลขเดียวกัน (คู่หรือคี่) เหมือนกันจะไม่มีผู้ชนะ แต่อย่างอื่นผู้เล่นแสดงให้เห็นถึงความแตกต่างในการชนะสองครั้ง P l a y e r s A B C Winner Even Even Even No winner Odd Odd Odd No winner Even Odd Odd Player A Odd Even Even Player A Even Odd Even Player B Odd Even Odd Player …
15 code-golf  number  game 

8
ทัวริงเครื่องจำลอง
เขียนโปรแกรมจำลองเครื่องทัวริง เพื่อความง่ายเราสามารถสมมติสถานะเป็นจำนวนเต็มสัญลักษณ์เป็นอักขระถ่านสัญลักษณ์ว่างเท่ากับช่องว่าง 5-tuple ในรูปแบบของสถานะปัจจุบัน, สัญลักษณ์อินพุต, สถานะถัดไป, สัญลักษณ์เอาต์พุต, ทิศทาง (ซ้ายหรือขวา) ลำดับไม่จำเป็น แต่ระบุว่าถ้าคุณสลับ เครื่องต้องหยุดเมื่อถึงสถานะที่ไม่รู้จักไม่อนุญาตให้มีเงื่อนไขหยุดชะงักอื่น ๆ เทปไม่มีที่สิ้นสุดในทั้งสองทิศทางและคุณสามารถอ่านอักขระว่างได้เสมอ อินพุต: เทปเริ่มต้นสถานะเริ่มต้นและโปรแกรม คุณมีอิสระที่จะอ่านข้อมูลจากที่ใดก็ได้ในรูปแบบที่คุณต้องการ เอาท์พุท: เทปหลังจากการดำเนินการของโปรแกรม ต้องมี: โปรแกรมตัวอย่างที่ทำงานบนโปรแกรมจำลองการทำงานของคุณ นี่คือโค๊ดโคฟเพื่อให้รหัสที่สั้นที่สุดชนะ ฉันจะโพสต์การใช้งานและโปรแกรมตัวอย่างในอีกไม่กี่ชั่วโมงข้างหน้า

2
Major Dichotomy สาขาวิชาเอก
กำหนดรายการของคอร์ดที่ระบุว่าเป็น 'Major' หรือ 'Minor' อินพุต อินพุตจะเป็นรายการของคอร์ดหนึ่งรายการต่อบรรทัดประกอบด้วย 3 โน้ตคั่นด้วยช่องว่าง แต่ละโน้ตจะประกอบด้วยชื่อโน้ตเป็นตัวพิมพ์ใหญ่ ( A- G) และตัวเลือกที่ไม่ตั้งใจ ( #หรือb) คอร์ดอาจอยู่ในการผกผันใด ๆ (เช่นบันทึกอาจอยู่ในลำดับใด ๆ ) เอาท์พุต หากคอร์ดเป็นส่วนใหญ่เอาต์พุต 'เมเจอร์' หากคอร์ดน้อยแสดงผลลัพธ์ 'Minor' หากคอร์ดไม่ได้เป็นหลักหรือรองให้เอาบรรทัดว่างออก ตัวอย่าง อินพุต C E G F Ab C C Eb Gb E G B Db F Ab Bb G D D A Gb เอาท์พุต …
15 code-golf  music 

15
ตีกอล์ฟปัญหาย่อย
งาน เมื่อระบุรายการของจำนวนเต็มที่คั่นด้วยช่องว่างเป็นอินพุตให้ส่งออกชุดย่อยที่ไม่ว่างเปล่าทั้งหมดของตัวเลขเหล่านี้ซึ่งแต่ละชุดย่อยจะรวมเป็น 0 กรณีทดสอบ อินพุต: 8 −7 5 −3 −2 เอาต์พุต:-3 -2 5 เกณฑ์การชนะ นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ!
15 code-golf  math 

4
สร้าง GUI Piano [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ท้าทาย สร้างคีย์บอร์ด GUI ที่มีอักขระน้อยที่สุด ตัวอย่าง เนื่องจากนี่เป็นงานที่มอบหมายในหนึ่งในหลักสูตรของฉันฉันจึงไม่สามารถแสดงซอร์สโค้ดได้ อย่างไรก็ตามนี่คือภาพหน้าจอของแป้นพิมพ์ของฉัน ในตัวอย่างนี้กุญแจของฉันเป็นประเภทJButtonและฉันใช้ Midi Synthesizer เพื่อสร้างเสียง (ด้วยค่าเริ่มต้นของซอง ADSR) กฎระเบียบ คุณได้รับอนุญาตให้ใช้ไลบรารีภายนอกมาตรฐาน สร้างสรรค์กับเสียงของคุณ คุณสามารถใช้ 8 บิต sitar ฯลฯ เพื่อความง่ายคุณอาจมีห้าปุ่ม; ขาวดำจาก C ถึง E (ห้าปุ่มแรกบนแป้นพิมพ์) ที่สำคัญที่สุดคือ ... แสดงงานของคุณ! ข้อสังเกต : อาจเป็นงานที่มีขนาดค่อนข้างใหญ่ทั้งนี้ขึ้นอยู่กับภาษาที่คุณเลือกใช้ นี่เป็นคำถามแรกของฉันเกี่ยวกับ SE Code Golf หากมีสิ่งใดไม่ชัดเจนโปรดสอบถามรายละเอียดเพิ่มเติม แก้ไข : วันที่ครบกำหนดสำหรับความท้าทายนี้จะเป็น 9/22/12 หากคุณโพสต์คำตอบหลังจากวันที่นี้ฉันจะตรวจสอบโดยไม่คำนึงถึง …
15 code-golf  music 

4
มันสนุกมากที่ได้อยู่ที่ YMCA
"ซีเอ"เป็นเพลงดิสโก้ได้รับความนิยมจากชาวบ้านที่มีการเต้นรำที่รู้จักกันดี เขียนโปรแกรมที่สั้นที่สุดเพื่อพิมพ์อักษรตัวใหญ่ "Y", "M", "C" และ "A" ที่ซิงโครไนซ์กับคอรัสของเพลง โดยทั่วไปแล้วตัวอักษรหนึ่งตัวจะไปที่แต่ละบรรทัดที่ส่งไปยังเอาต์พุตมาตรฐาน นี่คือหลักเพื่อลดความซับซ้อนของโปรแกรมที่อยู่ภายใต้การบัฟเฟอร์ผลลัพธ์ของไลบรารีมาตรฐาน C (การพิมพ์บรรทัดใหม่ล้างข้อมูลบัฟเฟอร์ขาออก) ดังนั้นคุณอาจละเว้นบรรทัดใหม่ใด ๆ หรือทั้งหมดหากการละเลยดังกล่าวจะทำให้โปรแกรมของคุณสั้นลง โปรแกรมของคุณซึ่งเริ่มในเวลาเดียวกันกับเพลงจะต้องส่งออกตัวอักษร "Y" ภายในระยะเวลา 0.125 วินาทีของแต่ละช่วงเวลาหลังจากเริ่มต้น (ในไม่กี่วินาทีฉันกำหนดสิ่งเหล่านี้จากมิวสิควิดีโอที่โพสต์บน YouTube) 45.766 49.611 60.889 64.661 109.816 113.591 124.810 128.687 173.830 177.620 188.950 192.724 204.013 207.739 219.057 ตัวอักษร "M", "C" และ "A" ตามลำดับมี 0.930 s, 1.395 s และ 1.628 s …
15 code-golf  music 

20
สร้างผลรวมกริด
สร้างกริด 7 x 7 เต็มไปด้วยตัวเลขสุ่ม อย่างไรก็ตามในเซลล์ที่มีจำนวนแถวและคอลัมน์คี่ (เริ่มต้นที่ 0) คุณต้องใช้ผลรวมของเซลล์โดยรอบ นี่คือตัวอย่างเล็ก ๆ ที่มีตารางขนาด 3 คูณ 3 (ตัวหนาเป็นสี่เหลี่ยมจัตุรัส): 2 2 2 2 16 2 2 2 2 และนี่คือตัวอย่างขนาด 7 คูณ 7 ตาราง: 6 5 4 3 7 2 5 6 43 3 50 8 43 8 4 7 8 8 9 3 …

12
แปลงจากไบนารีเป็นลบ
ได้รับจำนวนเต็มไบนารีอย่างรวมระหว่าง0และ1111111111111111(เช่น 16 บิตจำนวนเต็มไม่ได้ลงนาม) ขณะที่นำเข้าส่งออกเลขเหมือนกันในnegabinary อินพุตสามารถอยู่ในรูปแบบใดก็ได้ที่สะดวกที่สุดสำหรับภาษาของคุณ ตัวอย่างเช่นหากโปรแกรมจัดการกับอินพุตด้วยตัวเลข 16 หลักได้0000000000000101ง่ายกว่า101คุณสามารถเขียนโปรแกรมเพื่อรับอินพุตด้วยวิธีนั้นเท่านั้น ตัวอย่าง I / O > 1 1 > 10 110 > 1010 11110 > 110111001111000 11011001110001000 > 1001001 1011001 นี่คือโปรแกรมตัวอย่างที่ฉันเขียนซึ่งทำการแปลงฐานรวมถึงฐานที่เป็นลบและไม่ใช่จำนวนเต็ม คุณสามารถใช้มันเพื่อตรวจสอบงานของคุณ

25
คำนวณ pi ถึง 5 ทศนิยม
สิ่งนี้มาจากhttp://programmers.blogoverflow.com/2012/08/20-controversial-programming-opinions/ "เนื่องจาก Pi สามารถประมาณได้โดยใช้ฟังก์ชั่น 4 * (1 - 1/3 + 1/5 - 1/7 + …) พร้อมเงื่อนไขเพิ่มเติมที่ให้ความแม่นยำมากขึ้นเขียนฟังก์ชันที่คำนวณ Pi ถึงความแม่นยำทศนิยม 5 ตำแหน่ง " หมายเหตุการประเมินจะต้องทำโดยการคำนวณลำดับที่ได้รับข้างต้น
15 code-golf  pi 

8
ใช้ S-box ของ Rijndael
S-box ของ Rijndaelเป็นการดำเนินการที่ใช้บ่อยในการเข้ารหัสAESและถอดรหัส โดยทั่วไปแล้วจะใช้งานเป็นตารางค้นหาขนาด 256 ไบต์ เร็วมาก แต่หมายความว่าคุณต้องระบุตารางการค้นหาขนาด 256- ไบต์ในรหัสของคุณ ฉันเดิมพันคนในฝูงชนนี้สามารถทำได้ด้วยรหัสน้อยลงเนื่องจากโครงสร้างทางคณิตศาสตร์พื้นฐาน เขียนฟังก์ชั่นในภาษาที่คุณชื่นชอบซึ่งใช้ S-box ของ Rijndael รหัสที่สั้นที่สุดชนะ

14
คำนวณสิทธิ์ของผู้ใช้ใน CodeGolf.SE
ความท้าทาย เป้าหมายของคุณคือการเขียนโปรแกรมที่สั้นที่สุดเท่าที่จะเป็นไปได้ซึ่งจะมีรายการเหตุการณ์ (เช่น upvote, downvote, ฯลฯ ) และส่งคืนชื่อเสียงของผู้ใช้และสิทธิพิเศษที่เขาได้รับ เหตุการณ์ประเภทใด นี่คือแผนภูมิกิจกรรมที่ระบุไว้ตามลำดับชื่อเสียงที่ได้รับ: -15 answer unaccepted -10 answer unupvoted -5 question unupvoted -2 answer downvoted -2 question downvoted -2 unaccept answer -1 downvote answer +1 join website +1 undownvote answer +2 accept answer +2 question undownvoted +2 answer undownvoted +5 question upvoted +10 …

7
ถัดไปคืออะไร
รับรายการจำนวนเต็มคั่นด้วยช่องว่างงานของคุณคือค้นหาจำนวนเต็มถัดไปในลำดับ จำนวนเต็มในแต่ละลำดับเป็นผลมาจากการใช้การคำนวณทางคณิตศาสตร์เดียว (คน+, -, *หรือ/) เป็นจำนวนเต็มก่อนหน้านี้และแต่ละลำดับถูกสร้างขึ้นจากจำนวนตัวแปรของการดำเนินการเช่น ( แต่ไม่เกิน 10) ไม่มีลำดับใดที่จะยาวกว่าครึ่งหนึ่งของลำดับเลขจำนวนเต็มดังนั้นคุณจะมีลำดับการดำเนินการแต่ละรายการปรากฏขึ้นอย่างน้อยสองครั้งเพื่อยืนยัน ข้อมูลที่ป้อนจะผ่าน stdin (หรือpromptสำหรับโซลูชัน JavaScript) นี่คือตัวอย่างที่อธิบาย การป้อนข้อมูล: 1 3 5 7 9 11 เอาท์พุท: 13 ค่อนข้างง่ายคนนี้ +2ค่าทั้งหมดเป็นค่าก่อนหน้านี้ การป้อนข้อมูล: 1 3 2 4 3 5 4 6 5 7 6 ouput: 8 ขั้นตอนที่สองในลำดับนี้แล้ว+2-1 การป้อนข้อมูล: 2 6 7 3 9 10 6 18 …

10
ปิรามิดอียิปต์
มหาปิรามิดแห่งกิซ่าพีระมิดที่ใหญ่ที่สุดในอียิปต์ไม่เพียง แต่เป็นสิ่งมหัศจรรย์ที่เก่าแก่ที่สุดในเจ็ดสิ่งมหัศจรรย์ของโลกโบราณเท่านั้น แต่ยังเป็นสิ่งเดียวที่ยังคงสภาพสมบูรณ์อยู่ ปิรามิดอียิปต์อาจใช้เวลาถึง 20 ปีในการสร้างและมีขนาดใหญ่เพื่อให้อัลอาซิซอู ธ แมนลูกชายของศอลาฮุดดีที่บดแซ็กซอนมีที่จะให้ขึ้นรื้อปิรามิดแห่งกิซ่าที่ดีเพราะมันก็ถือว่างานมากเกินไป ปิรามิดของอียิปต์ส่วนใหญ่สร้างขึ้นเพื่อเป็นสุสานสำหรับฟาโรห์ของประเทศและที่มาของพวกเขาในช่วงยุคกลางและยุคกลาง (ค. 2686–1690 ก่อนคริสตศักราช) และในปี 2008 มีการค้นพบปิรามิดอียิปต์ 138 แห่ง ภารกิจคือการสร้างโปรแกรมที่ป้อนลำดับของระยะทางคั่นด้วยช่องว่างและสร้างปิรามิดข้อความ 10 × 10 คั่นด้วยระยะทางเหล่านั้น ระยะทาง 1 เท่ากับอักขระสองตัว ปิรามิดข้อความจะมีลักษณะเช่นนี้: /\ /--\ /----\ /------\ /--------\ /----------\ /------------\ /--------------\ /----------------\ /------------------\ ถ้าใส่ประกอบด้วยเพียงแบ่งบรรทัดแล้วหนึ่งพีระมิดจะมีการผลิตเป็นดังกล่าวข้างต้น พีระมิดแต่ละตัวจะแสดงปิรามิดไปทางซ้ายราวกับว่าอยู่ข้างหน้า ตัวอย่างที่ 1 การป้อนข้อมูล: 4 3 1 เอาท์พุท: /\ /\ /\/\ /--\ /--\ …

12
สหภาพช่วงเวลา
รับรายการช่วงเวลาดำเนินการสหภาพของพวกเขาและลดการทับซ้อน นั่นหมายถึงชิ้นส่วนที่ทับซ้อนกันจะลดลง ( [a, b] U [c, d] = [a, d]ถ้าb > c) สมมติว่าทุก <b [a, b]ในช่วงเวลาทั้งหมด ใช้เป็นฟังก์ชั่นของรายการช่วงเวลาอินพุต -> รายการช่วงเวลาเอาต์พุต รหัสที่สั้นที่สุดชนะ คุณไม่สามารถใช้ห้องสมุดที่มีอยู่ใด ๆ ชี้แจง: ช่วงเวลาที่เปิดและปิดจะไม่แตกต่าง ช่วงเวลาสำหรับจำนวนจริงไม่ใช่จำนวนเต็ม ( [2, 3], [4, 5] -> [2, 3], [4, 5]) ไม่จำเป็นต้องเรียงลำดับช่วงเอาต์พุต ลำดับถ้าอินพุตไม่สำคัญ อินพุตที่ผิดกฎหมายเป็นเพียง[a, b]ที่ซึ่งb >= aไม่มีส่วนเกี่ยวข้องกับลำดับของช่วงเวลาอินพุตและจำนวนของช่วงเวลาอินพุต คุณไม่จำเป็นต้องแสดงข้อความแสดงข้อผิดพลาดเกี่ยวกับพฤติกรรมที่ไม่ได้กำหนด ตัวอย่าง (พร้อมหมายเลขบรรทัด) [2, 4], [7, 9] --> …
15 code-golf 

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