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

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

12
คำนวณตัวเลข n Kaprekar
จำนวน Kaprekarเป็นจำนวน n หลักkว่าเมื่อแรกnหรือn-1หลัก k ^ 2 จะมีการเพิ่มที่สองnหลัก N ^ 2 ผลที่ได้คือ N. ตัวอย่าง: 9^2 = 81. 8+1 = 9. 45^2 = 2025. 20+25 = 45. 297^2 = 88,209. 88+209 = 297 ลำดับ Kaprekar เริ่มต้นที่ 1 เขียนโปรแกรมที่คำนวณและส่งออกตัวเลขn Kaprekar แรกโดยมีnอยู่ในช่วง แต่ไม่ จำกัด เฉพาะช่วงที่ 1 ถึง 100 หมายเลข Kaprekar แต่ละหมายเลขต้องแยกด้วยช่องว่างและไม่มีอะไรอื่น คุณสามารถดูหมายเลข Kaprekar …
12 code-golf 

11
พิมพ์ตัวเลขแปลก ๆ
ตัวเลขแปลก ๆ คือตัวเลขที่ผลรวมของตัวหารที่ถูกต้องมากกว่าจำนวนตัวเองและไม่มีส่วนย่อยของตัวหารที่ถูกต้องรวมกับจำนวนนั้น ตัวอย่าง: 70 เป็นตัวเลขแปลก ๆ เนื่องจากตัวหารที่เหมาะสม (1, 2, 5, 7, 10, 14 และ 35) รวมเป็น 74 ซึ่งมากกว่า 70 และไม่มีการรวมกันของตัวเลขเหล่านี้รวมถึง 70 18 ไม่ใช่ตัวเลขแปลกเพราะตัวหารที่เหมาะสม (1, 2, 3, 4, 6, 9) รวมเป็น 25 ซึ่งมากกว่า 18 แต่ 3, 6, และ 9 รวมถึง 18 งานของคุณคือการเขียนโปรแกรมที่สั้นที่สุดที่ปัจจัยการผลิตผ่านมาตรฐานในหมายเลขใด ๆnและคำนวณและพิมพ์ไปยังแฟ้มหรือแรก STD-ออกnหมายเลขแปลกแยกกับการขึ้นบรรทัดใหม่ ไม่อนุญาตให้เขียนโค้ดคำตอบอย่างหนัก (ขออภัยที่ไม่ได้ระบุสิ่งนี้ในตอนแรก) สำหรับตัวอย่างเพิ่มเติมดูหน้านี้: http://mathworld.wolfram.com/WeirdNumber.html
12 code-golf 

10
สตริงของอักขระตัวอักษรผสมตัวเลขในรายการที่เรียงลำดับของช่วงที่คั่นด้วยเครื่องหมายจุลภาค
กำหนดสตริงของตัวอักษรและตัวเลขที่ไม่เรียงลำดับเช่น ABC321STPpJqZZr0 เอาท์พุทรายการ "," - คั่นช่วงของอักขระ, เรียงลำดับตามค่า ASCII, ละเว้นตัวพิมพ์ใหญ่และลบรายการที่ซ้ำกัน ( เช่นเอาท์พุทเฉพาะตัวพิมพ์ใหญ่และตัวอักษรตัวเลข) เช่น 0-3, A-C, J, P-T, Z กฎระเบียบ ความยาวของโปรแกรมคือคะแนนฐานของคุณตามปกติ คุณต้องเริ่มต้น (hardcode) ตัวอย่างข้างต้นภายในโปรแกรมของคุณ แต่คุณอาจลดความยาวของตัวอย่างนั้นจากความยาวโปรแกรมของคุณเช่นสำหรับchar* s="ABC321STPpJqZZr0";คุณอาจลด 16 ตัวอักษรอีก 11 ตัวอักษรนับเป็นความยาวโปรแกรมของคุณ โบนัส (+50 เงินรางวัล) เนื่องจากนี่เป็นปัญหาจริงที่เพื่อนร่วมงานของฉันพบในวันนี้จำเป็นต้องเขียนในTcl 8.0.5 (เวอร์ชั่นโบราณขาด Tcl บิวด์อินล่าสุด) ฉันจะให้คะแนน 50 คะแนนกับคนที่เขียน Tcl 8.0 ที่สั้นที่สุด .5 โซลูชันถ้ามีการส่งที่ถูกต้องอย่างน้อย 2 รายการใน Tcl 8.0.5
12 code-golf  string 

24
คำนวณรูทคิวบ์ของตัวเลข
เป้าหมายของการเล่นกอล์ฟรหัสนี้คือการสร้างโปรแกรมหรือฟังก์ชั่นที่คำนวณและส่งออกรูทคิวบ์ของตัวเลขที่ได้รับเป็นอินพุต กฎระเบียบ: ไม่มีทรัพยากรภายนอก ไม่มีการใช้ฟังก์ชันรูตคิวบ์ในตัว ไม่มีการใช้วิธีการ / ตัวดำเนินการที่สามารถเพิ่มจำนวนเป็นพลังงาน (ซึ่งรวมถึงรากที่สองรากที่สี่เป็นต้น) ฟังก์ชั่น / โปรแกรมของคุณจะต้องสามารถยอมรับตัวเลขทศนิยมและจำนวนลบเป็นอินพุต ถ้ารูทคิวบ์เป็นตัวเลขทศนิยมให้ปัดเศษเป็น 4 ตัวเลขหลังจุดทศนิยม นี่คือรหัสกอล์ฟรหัสที่สั้นที่สุดเป็นไบต์ชนะ กรณีทดสอบ: 27 --> 3 64 --> 4 1 --> 1 18.609625 --> 2.65 3652264 --> 154 0.001 --> 0.1 7 --> 1.9129 คุณสามารถใช้กรณีทดสอบทั้งหมดข้างต้นเพื่อทดสอบจำนวนลบ ( -27 --> -3, -64 --> -4... )
12 code-golf  math 

30
พิมพ์สตริงด้วยคำแนวตั้ง
งานของคุณคือการใส่สตริงของตัวอักษร ASCII และส่งออกสตริงเป็นชุดของคำในแนวตั้งคั่นด้วยช่องว่าง ตัวอย่างที่แสดงด้านล่าง: รับสาย: Hello, World! My name is Foo. ผลลัพธ์ควรเป็น: H W M n i F e o y a s o l r m o l l e . o d , ! จะได้รับคะแนนโบนัส 10 คะแนนหากโปรแกรมของคุณจัดการสตริงที่ต้องปิดเทอร์มินัลอย่างถูกต้องซึ่งเราจะตั้งไว้ที่ 80 อักขระ 50 คะแนนหากโปรแกรมของคุณสามารถย้อนกลับได้!

2
ตีความแผนภาพวงจร
ความท้าทายของคุณคือการตีความแผนภาพวงจรพร้อมด้วยประตูตรรกะ ประตูลอจิก (คุณไม่จำเป็นต้องรู้ว่าสิ่งเหล่านี้ทำอะไร / มีความท้าทายนี้): และประตู: a หรือประตู: o ประตู nand: A หรือประตู: O ประตู xor: x ประตู xnor: X ไม่ใช่ประตู: ~ แต่ละเกท แต่อันสุดท้ายใช้สองอินพุต อินพุตมาจาก.มุมบนซ้ายและมุมล่างซ้ายของ 3 โดย 3 ตรงกลางที่ประตู ไม่เช่นนั้นอินพุตจะอยู่ทางด้านซ้ายโดยตรง เอาท์พุทคือ.ตรงไปทางขวา สายจะถูกแทนด้วย -|\/.= - เชื่อมสายสองเส้นเส้นหนึ่งไปทางขวาและอีกเส้นหนึ่งอยู่ทางซ้าย: c-c | ติดต่อสองสายหนึ่งข้างบนและข้างล่างหนึ่ง: c | c /และ\ทำงานดังนี้: c c \ / c c . ติดต่อทุกสายรอบ: …

4
Mod 7 ใน Manufactoria
ความท้าทายของ Manufactoria ง่าย ๆ คำนวณอินพุตโมดูโล 7 อินพุตจะอยู่ในไบนารีบิ๊ก - เอนเดียน (blue = 1, red = 0) เอาต์พุตควรอยู่ในรูปแบบเดียวกัน กรณีทดสอบให้ ส่วนที่เล็กที่สุดนับเป็นชัยชนะ http://pleasingfungus.com/Manufactoria/?ctm=Mod7;Input:_binary_number_big_endian._Output:_that_binary_number_mod_7;bbb:|brrr:b|brrrr:br|bb:bb|bbrrb:brr|brrrrb:brb|bbrb:bbr; 13; 3; 1 ; (ถ้าอินพุต mod 7 เป็น 0 จะไม่มีผลใด ๆ )

5
ใช้ชุดย่อยของเชลล์สคริปต์
ไซต์นี้มีปัญหามากมายเกี่ยวกับการใช้ภาษาต่างๆในแท็กล่าม อย่างไรก็ตามจริง ๆ แล้วพวกเขาทั้งหมดเป็นภาษาลึกลับที่ไม่มีใครใช้ ใช้เวลาในการสร้างล่ามสำหรับภาษาที่ใช้งานได้จริงซึ่งผู้ใช้ส่วนใหญ่ที่นี่อาจรู้จักอยู่แล้ว ใช่มันเป็นเชลล์สคริปต์ในกรณีที่คุณมีปัญหาในการอ่านชื่อ (ไม่ใช่ว่าคุณมี) (ใช่ฉันตั้งใจทำสิ่งนี้อย่างท้าทายเพราะฉันเบื่อภาษาอย่าง GolfScript และ Befunge ชนะทุกอย่างดังนั้นฉันจึงวางความท้าทายที่ภาษาการเขียนโปรแกรมเชิงปฏิบัติมากขึ้นมีโอกาสชนะมากขึ้น) อย่างไรก็ตามเชลล์สคริปต์เป็นภาษาที่ค่อนข้างใหญ่ดังนั้นฉันจะไม่ขอให้คุณใช้มัน ฉันจะสร้างชุดย่อยของฟังก์ชันเชลล์สคริปต์แทน ชุดย่อยที่ฉันเลือกคือชุดย่อยต่อไปนี้: การดำเนินการโปรแกรม (โปรแกรมจะมีตัวอักษรเท่านั้นแม้ว่าจะอนุญาตให้ใช้เครื่องหมายคำพูดเดี่ยว) ข้อโต้แย้งของโปรแกรม เครื่องหมายคำพูดเดี่ยว (ยอมรับอักขระ ASCII ที่พิมพ์ได้รวมถึงช่องว่างยกเว้นคำพูดเดียว) สตริงที่ไม่ได้ระบุไว้ (อนุญาตให้ตัวอักษรตัวเลขและขีดกลาง ASCII) ท่อ งบเปล่า หลายคำสั่งคั่นด้วยบรรทัดใหม่ ส่วนต่อท้าย / นำหน้า / หลายช่องว่าง ในภารกิจนี้คุณต้องอ่านอินพุตจาก STDIN และรันทุกคำสั่งที่ร้องขอ คุณสามารถสมมติระบบปฏิบัติการที่รองรับ POSIX ได้อย่างปลอดภัยดังนั้นจึงไม่จำเป็นต้องพกพากับ Windows หรืออะไรทำนองนั้น คุณสามารถสรุปได้อย่างปลอดภัยว่าโปรแกรมที่ไม่ได้ถูกไพพ์ไปยังโปรแกรมอื่นจะไม่อ่านจาก STDIN คุณสามารถสันนิษฐานได้อย่างปลอดภัยว่าคำสั่งนั้นจะมีอยู่ คุณสามารถสรุปได้อย่างปลอดภัยว่าจะไม่มีการใช้อะไรอีก หากข้อสันนิษฐานที่ปลอดภัยถูกทำลายคุณสามารถทำอะไรก็ได้ คุณสามารถสรุปได้อย่างปลอดภัยที่สุด 15 ข้อโต้แย้งและบรรทัดที่ต่ำกว่า 512 …

12
ลดขนาดสตริงตัวเลข
เมื่อกำหนดสตริง1และ2ความยาวใด ๆ ให้เขียนโค้ดบางส่วน (ไม่จำเป็นต้องมีฟังก์ชั่นอีกต่อไปทุกอย่างจะใช้ได้) ที่คำนวณว่าจำเป็นต้องใช้หลายขั้นตอนในการย่อขนาดสตริงเป็นแบบฟอร์มสุดท้ายโดยทำตามเกณฑ์นี้: ถ้าสายของคุณเป็น112112วิธีที่คุณจะต้องพิมพ์ 1 สอง 1s และ 2 1112เช่นนี้ เมื่อคุณจะดำเนินการอีกครั้งคุณจะต้องพิมพ์ 1 และ 2. 12คุณจะได้รับ จากนั้นคุณพิมพ์หนึ่ง 2 ได้2มา นี่เป็นรูปแบบสุดท้ายเนื่องจากสตริงนี้จะไม่เปลี่ยนแปลงอีกต่อไป รหัสของคุณจะถูกส่งออก3เนื่องจากคุณต้องการ 3 ขั้นตอนเพื่อไปยังแบบฟอร์มสุดท้าย กฎอื่น ๆ หากสตริงมีความยาวไม่สม่ำเสมอตัวเลขสุดท้ายจะไม่ถูกแตะต้อง สตริงทุกตัวที่ไม่สามารถเปลี่ยนแปลงได้อีกต่อไป (เช่น222222) จะถือว่าเป็นรูปแบบสุดท้าย คุณไม่สามารถใช้แหล่งภายนอก รหัสของคุณต้องทำงานกับสตริงของทุกและ12 รหัสที่สั้นที่สุดชนะเพราะมันเป็นรหัสกอล์ฟ รหัสของคุณควรพิมพ์ทุกขั้นตอน ทุกวิธีการป้อนข้อมูลจะถูกปรับ ตัวอย่าง Input >> 122122122121212212 Your code has to print: 211222111111222 11222111222 122111222 2111222 111222 1222 …
12 code-golf 

8
ใช้เวลาในการทาสีนานแค่ไหน?
(ขึ้นอยู่กับปัญหา Math.SE นี้ซึ่งให้กราฟิกบางส่วน) ฉันมีไม้เท้าซึ่งดูเหมือนจะเป็นแบบนี้: ฉันอยากให้มันดูเป็นแบบนี้: อย่างไรก็ตามฉันไม่ได้เป็นจิตรกรผู้เชี่ยวชาญดังนั้นก่อนที่ฉันจะเริ่มโครงการ DIY ที่ทะเยอทะยานฉันต้องการให้แน่ใจว่าฉันไม่ได้อยู่ในหัวของฉัน โปรแกรมของคุณควรบอกฉันว่ามีกี่ขั้นตอนในการทาสีแท่งนี้ แต่ละขั้นตอนเกี่ยวข้องกับการวาดภาพพื้นที่ต่อเนื่องด้วยสีทึบซึ่งครอบคลุมชั้นของสีก่อนหน้า สำหรับตัวอย่างข้างต้นฉันสามารถวาดครึ่งซ้ายสีน้ำเงินครึ่งขวาสีแดงจากนั้นพื้นที่สีเขียวสองแห่งแยกเป็น 4 ขั้นตอนทั้งหมด (สีเขียวไม่ได้ทาสีอย่างต่อเนื่อง) นี่คือใน ASCII: ------ bbb--- bbbrrr bgbrrr bgbrgr มีสองวิธีที่แตกต่างกันในการทาสีคันนี้และจบลงด้วยผลลัพธ์เดียวกัน ฉันสนใจในการประมาณเวลาเท่านั้นซึ่งเป็นสี่ขั้นตอน เป้าหมาย โปรแกรมของคุณควรแสดงจำนวนขั้นต่ำที่จำเป็นในการทาสีแท่งด้วยโทนสีที่กำหนด ชุดรูปแบบสีจะอยู่ในรูปแบบของสตริงอักขระในขณะที่เอาต์พุตจะเป็นตัวเลข นี่คือรหัสกอล์ฟ โปรแกรมที่สั้นที่สุดชนะ อินพุต โปรแกรมของคุณจะได้รับชุดสีสำหรับแท่งในรูปแบบของตัวอักษร แต่ละตัวอักษรที่ไม่ซ้ำกัน (กรณีที่สำคัญ) หมายถึงสีที่ไม่ซ้ำกัน YRYGR grG GyRyGyG pbgbrgrp hyghgy เอาท์พุต ตัวเลขเหล่านี้เป็นขั้นตอนจำนวนน้อยที่สุดที่จำเป็นในการทาสีแท่ง 4 3 4 5 4 คำอธิบาย นี่คือวิธีที่ฉันไปถึงที่หมายเลขด้านบน โปรแกรมของคุณไม่จำเป็นต้องแสดงผลลัพธ์นี้: ----- YYY-- …
12 code-golf  math 

21
เรียงลำดับองค์ประกอบที่แตกต่างของรายการตามลำดับจากมากไปน้อยตามความถี่
เขียนฟังก์ชั่นที่รับรายการหรืออาเรย์แล้วส่งกลับรายการองค์ประกอบที่แตกต่างเรียงลำดับจากมากไปน้อยตามความถี่ ตัวอย่าง: ได้รับ: ["John","Doe","Dick","Harry","Harry","Doe","Doe","Harry","Doe","John"] ค่าตอบแทนที่คาดหวัง: ["Doe","Harry","John","Dick"]
12 code-golf 

1
พระอาทิตย์ขึ้นและพระอาทิตย์ตก
ฉันเป็นคนโรแมนติคฉันชอบพาภรรยาออกไปดูพระอาทิตย์ขึ้นและตกในสถานที่ที่เราอยู่ เพื่อประโยชน์ของการออกกำลังกายนี้สมมติว่าฉันไม่มีรหัสที่สามารถบอกเวลาของพระอาทิตย์ตกหรือพระอาทิตย์ขึ้นสำหรับวันใด ๆ ละติจูดและลองจิจูดฉันจะเกิดขึ้น งานโคดเดอร์ของคุณคือการสร้างรหัสที่เล็กที่สุดเท่าที่จะเป็นไปได้ซึ่งใช้ละติจูดและลองจิจูดทศนิยม (ถ่ายในองศา N และ W ดังนั้นองศา S และ E จะถูกพิจารณาเป็นเนกาทีฟ) และวันที่ในรูปแบบ YYYY-MM-DD ( ตั้งแต่วันที่ 1 มกราคม 2000 เป็นต้นไป) และจะคายสองครั้งในรูปแบบ 24 ชั่วโมงสำหรับพระอาทิตย์ขึ้นและพระอาทิตย์ตก เช่นสำหรับวันนี้ในซิดนีย์, ออสเตรเลีย riseset -33.87 -151.2 2013-12-27 05:45 20:09 โบนัส: -100 ถ้าคุณสามารถแยกตัวในระดับความสูงได้ -100 ถ้าคุณสามารถแยกตัวประกอบการประหยัดเวลากลางวัน รหัสต้องคายเวลาในเขตเวลาที่เกี่ยวข้องที่ระบุในอินพุตตามละติจูดและลองจิจูดหรือในเขตเวลาของเครื่องไคลเอนต์
12 code-golf  math 

5
การวางนัยทั่วไปของหมายเลข Hardy – Ramanujan
1729 หรือที่เรียกว่าหมายเลขHardy – Ramanujanเป็นเลขจำนวนเต็มบวกที่เล็กที่สุดที่สามารถแสดงเป็นผลรวมของสองจำนวนเต็มจำนวนเต็มบวกสองวิธี ( 12^3+1^3=10^3+9^3=1729) ได้รับจำนวนเต็มn(ตามที่ป้อนในรูปแบบใดก็ตามที่เป็นธรรมชาติของภาษาที่คุณเลือก) ค้นหาจำนวนเต็มบวกที่เล็กที่สุดที่สามารถแสดงเป็นผลรวมของจำนวนเต็มบวกสองตัวที่ยกnกำลังสองในวิธีที่ไม่ซ้ำกัน ไม่มีการใช้แหล่งข้อมูลภายนอก ตัวละครที่ชนะน้อยที่สุด โปรดทราบว่านี้เป็นจริงปัญหาที่ยังไม่แก้n>4สำหรับ สำหรับตัวเลขเหล่านั้นให้โปรแกรมของคุณทำงานตลอดไปในการค้นหาหรือลองใช้! จัดทำขึ้นเพื่อว่าถ้าได้รับเวลาและทรัพยากรที่ไม่สิ้นสุดโปรแกรมจะแก้ปัญหา

23
GolfScript รุ่นปรับปรุง [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันวางแผนที่จะเขียน GolfScript ที่ได้รับการปรับปรุงสำหรับโปรแกรมที่สั้นกว่าซึ่งสามารถทำสิ่งต่างๆได้มากขึ้น นี่ไม่ใช่ความท้าทาย มันเป็นคำขอสำหรับข้อเสนอแนะและเคล็ดลับเกี่ยวกับสิ่งที่ฉันควรทำ (ดูแท็ก) ฉันไม่แน่ใจว่าควรเป็น Community Wiki หรือไม่ หากคุณคิดเช่นนั้นให้ตั้งค่าสถานะสำหรับโมเดอเรเตอร์เพื่อแปลง :) ภาษานี้จะคล้ายกับ GolfScript มาก มันยังคงเขียนในทับทิม อย่างไรก็ตามมันมีความแตกต่างเล็กน้อย: การใช้`เป็นตัวคั่นสตริงเนื่องจากเป็นอักขระที่ผิดปกติดังนั้นจึงจำเป็นต้องหลีกหนีน้อยกว่า (ตัวละครอื่นสามารถแทนที่ฟังก์ชั่นของมันเช่น#(เพิ่มเติมในภายหลัง)) \`เพื่อหลบหนี backtick \\เพื่อหลบหนี backslash และไม่มีลำดับ escape อื่น ๆ หากคุณต้องการขึ้นบรรทัดใหม่เพียงแค่ขึ้นบรรทัดใหม่ตามตัวอักษรที่แท้จริงในสตริง การใช้รูบี้Rationalสำหรับจุดลอยตัวที่แม่นยำซึ่งเป็นข้อบกพร่องสำคัญอย่างหนึ่งของ GolfScript ความสามารถในการแปลงประเภทเป็นประเภทอื่น ตัวอย่างเช่นคุณสามารถแปลงบล็อกเป็นสตริง นิพจน์ทั่วไป "..."สร้างขึ้นอาจจะมี ผู้ประกอบการจะได้รับการโอเวอร์โหลดสำหรับพวกเขาเช่นกัน ตัวอย่างเช่น"\W"~{`Invalid: non-word character`}{`OK`}if. จะดำเนินการโดยอัตโนมัติเมื่อผลักจากตัวแปรเช่นบล็อก วัตถุไฟล์และวันที่เพื่อทำสิ่งต่าง ๆ ที่เป็นไปไม่ได้ใน GolfScript …

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

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