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

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

30
พิมพ์หมายเลขสามเหลี่ยม
รับจำนวนN, เอาท์พุท NxN มุมขวาสามเหลี่ยมซึ่งแต่ละแถวจะเต็มไปด้วยตัวเลขถึงii ตัวอย่าง n = 0 (ไม่มีเอาต์พุต) n = 4 1 1 2 1 2 3 1 2 3 4 n = 10 1 1 2 1 2 3 . . . 1 2 3 4 5 6 7 8 9 10 (ไม่จำเป็นต้องจัดตำแหน่ง) n = N 1 1 …
25 code-golf  number 

3
คะแนนเทนนิสตรงตามรหัสกอล์ฟ
ในแง่ของการแข่งขันออสเตรเลียนโอเพ่น 2014 ในเมลเบิร์นและการชนะโดย Stanislas Wawrinka กับโนวัคยอโควิชฉันขอเสนอการแข่งขันกอล์ฟรหัสต่อไปนี้! Wawrinka และ Djokovic อยู่ที่นี่อีกครั้งสำหรับพื้นฐานของ CGC นี้ ความท้าทายของคุณคือการใช้สายประกอบด้วย 1 และ 2 และกำหนดคะแนนเทนนิสตามระบบการให้คะแนนเทนนิส "1" หมายถึง Wawrinka ได้คะแนนหนึ่งคะแนนในขณะที่ "2" หมายถึง Djokovic ได้คะแนน เพื่อเป็นตัวอย่าง: 1211222122111122111จะสร้างเอาต์พุตสองบรรทัด: Wawrinka 1 - 40 Djokovic 1 - 30 ยิ่งสตริงยาวมากเท่าไหร่ก็ยิ่งได้คะแนนมากขึ้นเท่านั้น กฎ: รหัสที่สั้นที่สุดชนะบริสุทธิ์และเรียบง่าย คะแนนที่ปรากฏจะต้องจัดเรียงชิดขวาและจัดเรียงคอลัมน์ด้วย เช่น การจัดตำแหน่งตัวอย่างของเอาต์พุต: Wawrinka 7 5 3 - 0 Djokovic 6 7 …
25 code-golf  game 

9
ทำคะแนนเกมโบว์ลิ่ง
งานของคุณคือการสรุปผลและให้คะแนนการส่งออกหนึ่งของผู้เล่นในเกม 10 พินโบว์ลิ่งหลังจากได้ถึง 21 ม้วน ม้วนจะแสดงเป็นลำดับของจำนวนเต็มในวิธีการป้อนข้อมูลที่คุณต้องการ จำนวนเต็มแต่ละตัวสอดคล้องกับจำนวนพินที่ล้มลงในม้วนนั้น เกณฑ์การให้คะแนน หลังจากแต่ละรอบจำนวนพินที่ล้มลงในรอบนั้นจะนับเป็นคะแนนสุดท้าย หากผู้เล่นเคาะลงทั้งสิบพินในม้วนแรกของรอบนี่คือการนัดหยุดงานและรอบจะจบลง มิเช่นนั้นรอบจะใช้เวลานานกว่าหนึ่งม้วน ถ้าม้วนที่สองของรอบเคาะลงทุกหมุดที่เหลืออยู่นี้เป็นอะไหล่ สำหรับการโจมตีแต่ละครั้งจะมีโบนัสเท่ากับผลรวมของพินที่ล้มลงในการหมุนสองครั้งถัดไป สำหรับแต่ละอะไหล่มีโบนัสเท่ากับจำนวนพินที่ล้มลงในการหมุนครั้งถัดไป รอบที่ 10 และรอบสุดท้ายผู้เล่นอาจได้รับม้วนเสริม: ในกรณีที่มีการประท้วงผู้เล่นจะได้รับอีกสองม้วนเพื่อใช้เป็นโบนัสการนัดหยุดงาน ในกรณีที่มีผู้เล่นสำรอง ตัวอย่าง Input: 4 3 8 2 7 1 10 7 3 0 10 2 2 10 10 5 4 Output: 131 Input: 10 10 9 1 7 3 2 7 10 …
25 code-golf  number  game 

10
พิณ Quine
เขียนควินิน ... ซึ่งทุกตัวละครอื่น ๆ สามารถลบได้ คุณสามารถระบุได้ว่าจะเริ่มต้นลบอักขระที่อักขระตัวแรกหรือตัวที่สอง เกณฑ์การให้คะแนน (เพิ่มโบนัส / เปอร์เซ็นต์เปตเซ็นต์รวมกันเป็นเปอร์เซ็นต์ทั้งหมด) คำตอบจะต้องมีความยาวอย่างน้อย 4 ตัวอักษร โปรแกรมจะต้องมีตัวอักษรอย่างน้อยหนึ่งตัวในแหล่งที่มาของมันตัวอย่างเช่น12345!@#$%^&*()จะถูกตัดสิทธิ์ + 750% ถ้าภาษาที่ใช้ไม่สมบูรณ์ทัวริง (ฉันกำลังมองหาคุณ, HTML!) -15% ถ้าการแก้ปัญหาไม่ได้อ่านแหล่งที่มาจากที่ใดก็ได้ในรูปแบบใด ๆ -20% ถ้าคุณสามารถเก็บเฉพาะอักขระที่ 5 ทุกครั้งและยังคงรูปแบบ quine คะแนนวัดจากจำนวนตัวอักษรในโปรแกรมแรก ตัวอย่าง (ไม่ใช่โปรแกรมจริง): หาก123456789abcdefและ13579bdfเป็นทั้งควินสุมคะแนนคือ 15 นอกจากนี้หาก159dเป็นควินก็จะเป็นคะแนนสุดท้ายคือ 12 นี่คือรหัส - กอล์ฟดังนั้นคะแนนต่ำสุดจึงชนะ
25 code-golf  quine 

30
ตัวประมาณค่า Monte Carlo ของ Pi
สวัสดีวัน Pi ทุกคน! ไม่มีเหตุผลเลยฉันพยายามสร้างตัวประมาณค่า Monte Carlo ของ Pi ที่สั้นที่สุด เราสร้างสิ่งที่สามารถพอดีกับทวีตได้หรือไม่? สิ่งที่ฉันมีอยู่ในใจคือวิธีการทั่วไปในการวาดจุดสุ่มจากตารางหน่วยและคำนวณอัตราส่วนที่อยู่ภายในวงกลมหน่วย จำนวนตัวอย่างสามารถกำหนดรหัสยากหรือไม่ หากคุณ hardcode พวกเขาคุณต้องใช้อย่างน้อย 1,000 ตัวอย่าง ผลลัพธ์อาจถูกส่งคืนหรือพิมพ์เป็นจุดลอยตัวจุดคงที่หรือจำนวนตรรกยะ ไม่มีฟังก์ชันตรีโกณฯ หรือค่าคงที่ Pi ต้องเป็นวิธีมอนติคาร์โล นี่คือรหัสกอล์ฟดังนั้นการส่งที่สั้นที่สุด (เป็นไบต์) จะชนะ

11
คำนวณ 500 หลักของ pi
เขียนโปรแกรมเพื่อคำนวณ 500 หลักแรกของ pi ตามกฎด้านล่าง: ต้องมีความยาวน้อยกว่า 500 อักขระ ไม่สามารถรวม "pi", "math.pi" หรือค่าคงที่ของ pi ที่คล้ายกันและไม่สามารถเรียกฟังก์ชันไลบรารีเพื่อคำนวณ pi ไม่สามารถใช้ตัวเลข "3", "1" และ "4" ติดต่อกันได้ มันจะต้องดำเนินการในเวลาที่เหมาะสม (ต่ำกว่า 1 นาที) บนคอมพิวเตอร์ที่ทันสมัย โปรแกรมที่สั้นที่สุดชนะ

6
คุณสามารถ Meta Quine ได้ไหม?
คล้ายกับปริศนาตัวต่ออื่น (โดยเฉพาะตัวนี้ ) เขียนโปรแกรมที่สร้างแหล่งข้อมูลสำหรับตัวมันเอง นี่คือการบิดใหม่:รหัสที่ผลิตไม่ควรเหมือนกันกับแหล่งที่มา แต่ควรส่งออกโปรแกรมอื่นที่จะสร้างโปรแกรมแรก ความท้าทายที่เชื่อมโยงกับข้างต้นทำได้โดยการกระโดดระหว่างสองภาษา ฉันคิดว่าจะใช้ภาษานี้เพียงภาษาเดียวแต่แหล่งที่มาทั้งสอง (หรือมากกว่า) ควรจะแตกต่างกันอย่างมีนัยสำคัญ (ดูกฎด้านล่าง) ด้วยข้อ จำกัด นี้คำตอบเดียวของอักขระจะไม่ได้รับอนุญาต กฎ รหัสของคุณจะต้องผลิตในภาษาเดียว (การส่งหลายรายการหนึ่งรายการสำหรับแต่ละภาษาเป็นที่ยอมรับอย่างสมบูรณ์) เวอร์ชันของรหัสที่แตกต่างกันของคุณจะต้องแตกต่างกันอย่างชัดเจน กล่าวอีกนัยหนึ่งถ้าคุณวาดแผนผังไวยากรณ์นามธรรมสำหรับโค้ดของคุณควรมีอย่างน้อยหนึ่งโหนดที่แตกต่างกัน การจัดหาASTจะไม่จำเป็น แต่ถ้าคุณรู้สึกอยากจะจัดให้มีหนึ่งโปรแกรมสำหรับแต่ละโปรแกรมของคุณมันจะช่วยในการตัดสิน คุณสามารถทำซ้ำได้มากเท่าที่คุณต้องการตราบใดที่มันยังคงมีความแตกต่างทางวากยสัมพันธ์ (เพิ่มเติมจะช่วยให้คะแนนของคุณดูด้านล่าง) SCORING คะแนนสุดท้ายของคุณคือความยาวเฉลี่ยของโปรแกรมทั้งหมดหารด้วยจำนวนโปรแกรม ตัวอย่างที่ 1: A (แหล่งที่มาสำหรับ B) = 50 ตัวอักษร B (แหล่งที่มาสำหรับ A) = 75 ตัวอักษร คะแนนสุดท้าย = 31.25 ตัวอย่างที่ 2: A (แหล่งที่มาสำหรับ B) = 50 ตัวอักษร …
25 code-golf  quine 

9
สร้างเกม 'Snake' ขึ้นใหม่ในคอนโซล / เทอร์มินัล
เกมสนุก codegolf นี้ที่นี่สนุกมากฉันต้องสร้างเวอร์ชันสำหรับเกมคลาสสิคอื่น ๆ ที่มีความซับซ้อนเหมือนกัน วิธีที่สั้นที่สุดในการสร้างเกม Space Invaders ขั้นพื้นฐานใน Python อย่างไรก็ตามในครั้งนี้พยายามที่จะสร้างเกม 'งู' คลาสสิกขึ้นมาใหม่ซึ่งคุณเริ่มต้นด้วยรูปร่างที่เล็กและเคลื่อนไหวอย่างต่อเนื่องเพื่อเก็บสะสมชิ้นส่วนเพื่อเพิ่มคะแนนของคุณ เมื่อคุณรวบรวมชิ้นส่วน 'หาง' ของคุณจะเติบโตซึ่งตามเส้นทางที่คุณทำ วัตถุประสงค์คือการอยู่ได้นานที่สุดโดยไม่ชนเข้ากับหางของคุณหรือเข้าไปในกำแพง คุณสมบัติผู้สมัคร: คุณตัวละครที่ประกอบขึ้นเป็นหางผนังและชิ้นส่วนที่คุณรวบรวมทั้งหมดควรเป็นตัวละครที่แตกต่างกัน แสดง HUD ด้วยคะแนน คะแนนเพิ่มขึ้น 1 คะแนนสำหรับแต่ละชิ้นที่คุณสะสม ผู้เล่นเสียเมื่อชนกับหางหรือกำแพง วางไข่ชิ้นหนึ่งในพื้นที่สุ่มทันทีหลังจากรวบรวมชิ้นส่วนไม่ต้องพูดถึงตอนเริ่มเกม ความเร็วของเกมไม่สำคัญตราบใดที่มันสอดคล้องกัน 'เซลล์' ควรเป็นอักขระ 2x1 เนื่องจากความสูงของอักขระบล็อกคือ ~ สองเท่าของความกว้างสามารถเป็น 1x1 ได้เนื่องจาก 2x1 นั้นน่าเกลียดและฉันไม่คิดอย่างนั้น ปุ่มสำหรับเปลี่ยนทิศทางควรเป็นawsd, ซ้าย, ขึ้น, ลง, ขวาตามลำดับ ทิศทางเริ่มต้นควรขึ้น คุณต้องแสดงขอบของกำแพง คะแนนอาจทับผนัง รหัสสั้นที่สุดที่ตรงกับเกณฑ์ด้านบนชนะ คะแนนโบนัสจินตนาการสำหรับความคิดสร้างสรรค์
25 code-golf  game 

13
ROT คืออะไร - ถอดรหัส ROT-n
นี่คือตัวอักษรของตัวอักษรภาษาอังกฤษตามลำดับความถี่: e t a o i n s h r d l c u m w f g y p b v k j x q z นั่นคือeเป็นจดหมายที่ใช้บ่อยที่สุดและzเป็นจดหมายที่พบน้อยที่สุด (ข้อมูลจากWikipedia ) ความท้าทายของคุณคือการใช้ข้อความ ROT-n'd เช่น: ocdndnvqzmtnzxmzohznnvbzocvodnqzmtnzxpmzviynvaz นี่คือข้อความ "นี่คือทุกสิ่งที่ส่งมาถึงความพึงพอใจของคุณปลอดภัย" ซึ่ง "เข้ารหัส" ผ่าน ROT-21 (ครึ่งหนึ่งของ 42) โปรแกรมของคุณที่ใช้ตารางความถี่ด้านบนควรสามารถกำหนดได้ว่าอักขระแต่ละตัวถูกหมุนและข้อความต้นฉบับเท่าใด (หากคุณไม่คุ้นเคยกับ ROT-n มันจะเปลี่ยนอักขระแต่ละตัวเป็นหลักnเช่นใน ROT-2,. a -> c, …

30
เขียนผลกระทบโดมิโน
ใช้อักขระ Unicode ที่น้อยที่สุดเขียนฟังก์ชันที่ยอมรับพารามิเตอร์สามตัว: จำนวนโดมิโนทั้งหมด nโดมิโนที่ได้รับผลกระทบ th โค่นทิศทางของโดมิโนที่ได้รับผลกระทบ ( 0หรือLทางซ้าย1หรือRทางขวา) เมื่อโดมิโนถูกโค่นล้มมันจะต้องโค่นล้มโดมิโนที่เหลือในทิศทางเดียวกัน คุณควรส่งออกโดมิโนโดย|แสดงโดมิโนที่ยืนอยู่และ\และ/แสดงโดมิโนที่โค่นล้มไปทางซ้ายและขวาตามลำดับ ตัวอย่าง 10, 5, 1ควรกลับ||||////// 6, 3, 0ควรกลับ\\\|||

30
การแปลงสตริงเป็นตัวพิมพ์เล็ก (โดยไม่ต้องมีฟังก์ชั่นบิวท์อินถึงตัวต่ำกว่า!)
เป้าหมายของ code-golf นี้คือการสร้างรหัสที่อนุญาตให้ผู้ใช้ป้อนสตริง ASCII (มีอักขระ ASCII ที่พิมพ์ได้เท่านั้น) และโปรแกรมของคุณจะแสดงตัวแปรตัวพิมพ์เล็กของสตริงนี้ สำคัญ: คุณไม่ได้รับอนุญาตให้ใช้ฟังก์ชันในตัวที่แปลงสตริง (หรืออักขระเพียงตัวเดียว) เป็นตัวพิมพ์เล็ก (เช่นToLower()ใน. NET, strtolower()ใน PHP, ... )! อย่างไรก็ตามคุณได้รับอนุญาตให้ใช้ฟังก์ชั่นในตัวอื่น ๆ ทั้งหมด หมายเหตุสำคัญอื่น:สตริงอินพุตไม่มีอักขระตัวพิมพ์ใหญ่เท่านั้น สายป้อนเป็นส่วนผสมของอักขระตัวพิมพ์ใหญ่ตัวอักษรตัวพิมพ์เล็กตัวเลขและอื่น ๆASCII พิมพ์ตัวอักษร โชคดี!

30
วาดผลลัพธ์ลูกเต๋าใน ASCII
แสดงผลการสุ่มของทอยลูกเต๋าหากทำด้วยด็อกรูปทรงลูกบาศก์ใน ASCII $ dice ควรส่งผลให้หนึ่งใน ----- | | | o | | | ----- ----- |o | | | | o| ----- ----- |o | | o | | o| ----- ----- |o o| | | |o o| ----- ----- |o o| | o | |o o| ----- ----- |o …

21
เป็นฉากที่มีความหลากหลายของจิมมี่
ในขณะที่คุณอาจจะรู้ว่ามีได้หลาย ที่น่ารัก จิมมี่ ความท้าทาย เมื่อเร็ว ๆ นี้โผล่ขึ้นมา ในความท้าทายเหล่านี้คุณถูกท้าทายด้วยทักษะการแสดงกายกรรมของเพื่อนอันเป็นที่รักของเรา ตอนนี้เรามีความท้าทายที่แตกต่างสำหรับคุณ วันนี้คุณจะระบุประเภทต่างๆของ Jimmys! คำอธิบาย Jimmys มีสามประเภท: คนแคระกายกรรมและนักเพาะกาย This is dwarf Jimmy: o This is acrobat Jimmy: /o\ This is bodybuilder Jimmy: /-o-\ Jimmys เหล่านี้เป็นเพื่อนที่ดีและพวกเขาชอบที่จะยืนอยู่บนบรรทัดเดียวกันกับคนอื่น ๆ งานของคุณคือให้ฉากจิมมี่เป็นเช่น: o /o\ o /-o-\/-o-\ o /o\ เอาท์พุทจำนวนของคนแคระกายกรรมและนักเพาะกายในบรรทัดตามลำดับ ความท้าทาย รับอินพุตในรูปแบบที่สมเหตุสมผลเช่นฉาก Jimmy ดังแสดงในตัวอย่างด้านบน สตริงอินพุตควรเป็นหนึ่งบรรทัดและมีทางเลือกสามอย่างของ Jimmys และช่องว่างทางเลือก สตริงไม่จำเป็นต้องมีหลากหลายของ Jimmy …

27
เดือนละกี่วัน
รับการแสดงข้อความ (ชื่อเต็มตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่หรือตัวย่อ 3 ตัว) ของเดือนส่งคืนจำนวนวันในเดือน ตัวอย่างเช่นdecember, DECและdecทุกคนควรจะกลับมาวันที่ 31 กุมภาพันธ์สามารถมีได้ทั้ง 28 หรือ 29 วัน สมมติว่าอินพุตเป็นเดือนในหนึ่งในรูปแบบที่ถูกต้อง

24
Combinatorics: คำนวณค่า Subfactorial
ตัวเลขsubfactorialหรือrencontres ( A000166 ) เป็นลำดับของตัวเลขที่คล้ายกับตัวเลข factorial ซึ่งแสดงใน combinatorics ของพีชคณิต โดยเฉพาะอย่างยิ่งที่subfactorial ลำดับที่n ! nให้จำนวนderangementsของชุดองค์ประกอบn Derangement เป็นการเปลี่ยนแปลงที่ไม่มีองค์ประกอบใดอยู่ในตำแหน่งเดียวกัน สามารถกำหนด subfactorial ผ่านความสัมพันธ์การเกิดซ้ำดังต่อไปนี้: !n = (n-1) (!(n-1) + !(n-2)) ในความเป็นจริงความสัมพันธ์ที่เกิดซ้ำกันนั้นมีไว้สำหรับปัจจัย แต่สำหรับ subfactorial เราเริ่มต้นจาก: !0 = 1 !1 = 0 (สำหรับแฟคทอเรียลที่เรามีแน่นอน1! = 1 ) งานของคุณคือการคำนวณ! nให้n กฎระเบียบ เช่นเดียวกับแฟคทอเรียล subfactorial นั้นเติบโตอย่างรวดเร็ว มันเป็นเรื่องปกติถ้าโปรแกรมของคุณสามารถจัดการปัจจัยการผลิตnเช่นนั้น! nสามารถแสดงโดยแบ่งตามชนิดจำนวนพื้นเมืองภาษาของคุณ อย่างไรก็ตามอัลกอริทึมของคุณจะต้องทำงานในทฤษฎีสำหรับnเอง นั่นหมายความว่าคุณอาจสันนิษฐานได้ว่าผลลัพธ์ที่สมบูรณ์และค่ากลางสามารถแสดงด้วยภาษาของคุณได้อย่างแม่นยำ โปรดทราบว่าสิ่งนี้จะไม่รวมค่าคงที่eหากเก็บหรือคำนวณด้วยความแม่นยำแน่นอน ผลลัพธ์ต้องเป็นจำนวนเต็มที่แน่นอน …

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