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

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

9
Kolmogorov บ้า
ซับซ้อน Kolmogorovของสตริงถูกกำหนดให้เป็นความยาวของโปรแกรมที่สั้นที่สุดที่ P s เอาท์พุท หากความยาวของ P สั้นกว่าความยาวของ s ดังนั้น s จะถูกบีบอัดมิฉะนั้น s จะไม่สามารถบีบอัดได้ สตริงส่วนใหญ่ไม่สามารถบีบอัดได้ ... เขียนโปรแกรมที่สั้นที่สุดที่ส่งออกสตริงนี้ (โดยไม่มีช่องว่างและไม่มีบรรทัดใหม่): d9 a6 b6 33 56 a7 95 4b 29 b0 ac 7f 2a aa 6d 19 b8 4b 4c f8 b6 2a ac 95 a1 4b 4e a5 9d b3 e7 c9 …

16
Balanced Ternary Converter
เครดิตสำหรับแนวคิดการท้าทายไปที่ @AndrewPiliser ข้อเสนอดั้งเดิมของเขาในกล่องทรายถูกยกเลิกและเนื่องจากเขาไม่ได้ทำงานที่นี่เป็นเวลาหลายเดือนฉันจึงได้รับการท้าทาย Ternary สมดุลเป็นระบบตัวเลขที่ไม่ได้มาตรฐาน มันก็เหมือน ternary ในการที่ตัวเลขเพิ่มมูลค่าโดยปัจจัยที่ 3 ในขณะที่คุณไปต่อไปทางซ้าย - เพื่อให้100เป็น9และ1001เป็น 28 อย่างไรก็ตามแทนที่จะมีค่า 0, 1 และ 2 ตัวเลขจะมีค่าเป็น -1, 0 และ 11 (คุณยังสามารถใช้สิ่งนี้เพื่อแสดงจำนวนเต็มใด ๆ ) สำหรับความท้าทายนี้ความหมายหลัก+1จะได้รับการเขียนเป็น+, -1จะได้รับการเขียนเป็น-และเป็นเพียง0 0Ternary ที่มีความสมดุลไม่ได้ใช้-สัญลักษณ์หน้าตัวเลขเพื่อลบล้างมันเหมือนระบบตัวเลขอื่น ๆ - ดูตัวอย่าง งานของคุณคือการเขียนโปรแกรมที่สมบูรณ์ซึ่งใช้จำนวนเต็มลงนามทศนิยม 32- บิตเป็นอินพุตและแปลงเป็นไตรภาคแบบสมดุลไม่อนุญาตให้มีฟังก์ชั่นการแปลงพื้นฐานในตัวของการเรียงลำดับใด ๆ (Mathematica อาจมีหนึ่ง ... ) อินพุตสามารถอยู่ในอินพุตมาตรฐานอาร์กิวเมนต์บรรทัดรับคำสั่ง ฯลฯ ศูนย์นำหน้าอาจมีอยู่ในอินพุต แต่ไม่อยู่ในเอาต์พุตเว้นแต่อินพุตจะเป็น0ซึ่งในกรณีนี้เอาต์พุตควรเป็น0เช่นกัน ตัวอย่าง เหล่านี้คือการแปลงจากยอดประกอบไปด้วยทศนิยมเป็นทศนิยม คุณจะต้องเปลี่ยนวิธีอื่น +0- = …

19
คนแคระและเหรียญ
สถานการณ์: Mคนแคระหลายคนพบหีบสมบัติของก๊อบลินที่มีNเหรียญทองและต้องแบ่งมัน เนื่องจากกฎโบราณเกี่ยวกับการจัดสรรปล้นทรัพย์ให้แก่โจรสลัดตามลำดับอาวุโสดาวแคระที่เก่าแก่ที่สุดควรได้รับหนึ่งเหรียญมากกว่าดาวแคระที่เก่าที่สุดถัดไปและอื่น ๆ เพื่อที่ดาวแคระที่อายุน้อยที่สุดจะได้รับM-1เหรียญน้อยกว่าดาวแคระที่เก่าที่สุด นอกจากนี้คนแคระไม่ต้องขว้างเหรียญใด ๆ (เช่นไม่มีเหรียญติดลบกับคนแคระ) ช่วยคนแคระแบ่งเหรียญด้วยวิธีนี้หรือบอกพวกเขาว่ามันเป็นไปไม่ได้ รหัสผู้ชนะจะต้องตอบถูกต้องเสมอ (ความท้าทายนี้เป็นกำหนด) และปฏิบัติตามทั่วไปรหัสกอล์ฟกฎ อินพุต คุณจะได้รับจำนวนเต็ม N (3 ≤ N ≤ 1,000) สำหรับจำนวนเหรียญและจำนวนเต็ม M (3 ≤ M ≤ N) สำหรับคนแคระจำนวนหนึ่งคั่นด้วยช่องว่าง เอาท์พุต หากไม่สามารถแบ่งเหรียญในแบบที่คนแคระต้องการให้พิมพ์ -1 (ลบหนึ่ง) มิฉะนั้นให้พิมพ์จำนวนเหรียญที่คนแคระแต่ละคนจะได้รับจากตัวเก่าที่สุดถึงอายุน้อยที่สุด แยกตัวเลขด้วยช่องว่าง ตัวอย่าง : อินพุต 3 3 เอาท์พุต 2 1 0 อินพุต 9 3 เอาท์พุต 4 3 2 …
32 code-golf 

13
การวาดภาพลูกบาศก์ในงานศิลปะ ASCII
คำอธิบายงาน: วาดลูกบาศก์ในศิลปะ ASCII โดยประมาณเป็นโครงตู้ Monospaced fontsมักจะมีตัวละครที่สูงประมาณสองเท่ากว้าง เนื่องจากอินพุตคือความยาวของเส้นแนวตั้ง (ไม่รวมมุม) เส้นแนวนอนจะถูกวาดด้วยอักขระจำนวนมากเป็นสองเท่าเพื่อให้ภาพที่ได้เป็นลูกบาศก์จริงๆ เส้นที่ถอยกลับจะถูกวาดที่ความยาวครึ่งหนึ่งตามที่กำหนดโดยการฉายภาพของคณะรัฐมนตรี มุมของก้อนจะถูกแทนด้วย+เส้นแนวนอนโดย-เส้นแนวตั้งโดยและคนที่ใช้เส้นทแยงมุม|/ สรุป: ให้อินพุตเป็นnจากนั้น ขอบแนวนอนของคิวบ์ถูกวาดด้วย-และประกอบด้วย 2 nอักขระ ขอบแนวตั้งของคิวบ์ถูกวาดด้วย|และประกอบด้วยอักขระnตัว เส้นทแยงมุมของลูกบาศก์ถูกวาดด้วย/และประกอบด้วยอักขระn / 2 +มุมของก้อนจะมีการวาด มุมจะไม่นับตามความยาวของขอบตามรายละเอียดด้านบน (ดูตัวอย่างด้านล่างเช่นกัน) การป้อนข้อมูล: การป้อนข้อมูลให้กับการป้อนข้อมูลมาตรฐานเป็นบวกเดียวเลขคู่n (2 ≤ n ≤ 30) ที่ให้ความยาวของเส้นแนวตั้งของลูกบาศก์ ตามด้วยตัวแบ่งบรรทัดเดียว เอาท์พุท: เอาต์พุตเป็นคิวบ์บนเอาต์พุตมาตรฐานตามกฎข้างต้น ช่องว่างต่อท้ายบนบรรทัดจะถูกละเว้น ตัวอย่างอินพุต 1: 2 ตัวอย่างผลลัพธ์ 1: +----+ / /| +----+ | | | + | |/ …

7
สะพานและอุโมงค์
คุณมีหน้าที่สร้างทางด่วนใหม่ อย่างไรก็ตามมันนำไปสู่ดินแดนที่เป็นภูเขาดังนั้นจึงจำเป็นต้องมีสะพานและอุโมงค์จำนวนมาก ฟรีเวย์ควรอยู่ในระดับเดียว อินพุต คุณจะได้รับคำอธิบาย ASCII คร่าวๆว่าลักษณะของภูเขาบนอินพุตมาตรฐานเช่นอะไรดังต่อไปนี้: /\ / \ /\ / \ /\ / \/ \ / \ / \ /\ / \/ \ / \ _ / \ /\ / \ \ / \ / \ / \ /\ \ / \ / \/ \/ \ \ / …

14
แก้ไขหนี้ทั่วโลก, แนวทางการเล่นกอล์ฟ
ผู้นำของโลกได้พบและยอมรับในที่สุดว่าวิธีที่ดีที่สุด (และเท่านั้น) ในการแก้ไขปัญหาเศรษฐกิจโลกคือการเอาหุ้นของพวกเขาเป็นหนี้กันและเพียงแค่จ่ายเงินออกด้วยเช็คขนาดใหญ่ พวกเขาจ้างคุณ (อย่างแดกดันในอัตราสัญญาต่ำที่สุดเท่าที่จะทำได้) เพื่อหาวิธีที่ดีที่สุดในการทำเช่นนั้น หลังจากการไตร่ตรองอย่างถี่ถ้วนแล้วและขอให้บางคนวาดตัวอย่างง่ายๆพวกเขาได้สร้างสเปคต่อไปนี้ แต่ละประเทศมีรหัส ISO 3166-1 alpha-2ของพวกเขา: USสำหรับสหรัฐอเมริกา, AUออสเตรเลีย, JPญี่ปุ่น, CNจีน, และอื่น ๆ บัญชีแยกประเภทจะถูกวาดขึ้นเป็นชุดของรายการประเทศและจำนวนเงินเนื่องจากแต่ละประเทศ แต่ละประเทศเริ่มต้นด้วยโคลอน ID ของโดเมนและมีจำนวนเกินดุล / ขาดดุล (ในพันล้านยูโร) ตามด้วยเครื่องหมายอัฒภาคจากนั้นรายการที่คั่นด้วยเครื่องหมายจุลภาคของประเทศและจำนวนเท่าใด (ในพันล้านของ ยูโร) พวกเขาเป็นหนี้ หากไม่มีประเทศใดเป็นหนี้ประเทศอื่นจะไม่มีการเอ่ยถึงประเทศนั้นหลังจากตัวคั่นเครื่องหมายอัฒภาคนั้น การขาดดุลจะถูกระบุว่าเป็นจำนวนลบส่วนเกินจะถูกระบุว่าเป็นจำนวนบวก ค่าสามารถเป็นแบบลอยได้ บัญชีแยกประเภทจะต้องนำมาจาก STDIN จุดสิ้นสุดของบัญชีแยกประเภทจะแสดงด้วยการขึ้นบรรทัดใหม่บนบรรทัดว่าง Tally ต้องถูกส่งไปยัง STDOUT ตัวอย่างของบัญชีแยกประเภท: Input: AU:8;US:10,CN:15,JP:3 US:14;AU:12,CN:27,JP:14 CN:12;AU:8,US:17,JP:4 JP:10;AU:6,US:7,CN:10 จากนั้นระบบจะพิจารณาจำนวนเงินที่แต่ละประเทศเป็นหนี้และเป็นหนี้และกำหนดส่วนเกิน / ขาดดุลของตนเช่นสำหรับ AU: AU = 8 …
32 code-golf  math 

14
วาดลูกคิดสวนผึ้ง
เขียนโปรแกรมที่สั้นที่สุดที่ใช้จำนวนเต็มเดียวเป็นอินพุตและพิมพ์ลูกคิด Suanpan Testcases การป้อนข้อมูล: 314159 เอาท์พุท: |\======================================/| || (__) (__) (__) (__) (__) (__) || || (__) (__) (__) (__) || || || || || || || || || || || || || || || || (__) (__) || |<======================================>| || (__) (__) (__) (__) || (__) || || (__) …

12
เคล็ดลับสำหรับการเล่นกอล์ฟในกลุ่ม
ฉันได้ตระหนักถึงเมื่อเร็ว ๆ นี้ว่าเป็นกลุ่มทำงานที่ดีสำหรับการเล่นกอล์ฟโดยเฉพาะอย่างยิ่งสำหรับKolmogorov ซับซ้อน นอกจากนี้ตามmeta vim เป็น 'ภาษาการเขียนโปรแกรม' ที่ยอมรับได้อย่างสมบูรณ์สำหรับขอบเขตของเว็บไซต์นี้นั่นคือ คุณมีเคล็ดลับอะไรบ้างสำหรับการเล่นกอล์ฟใน Vim? ฉันกำลังมองหาความคิดเห็นที่สามารถนำไปใช้กับปัญหารหัสกอล์ฟและอย่างน้อยก็ค่อนข้างเฉพาะกับ Vim (เช่น "ลบความคิดเห็น" ไม่ใช่คำตอบ) กรุณาโพสต์หนึ่งเคล็ดลับต่อคำตอบ
32 code-golf  tips  vim 

30
คำนวณการตรวจสอบ Adler-32
พื้นหลัง Adler-32เป็นเช็คซัม 32 บิตที่คิดค้นโดย Mark Adler ในปี 1995 ซึ่งเป็นส่วนหนึ่งของ zlib library ที่ใช้กันอย่างแพร่หลาย (พัฒนาโดย Adler) Adler-32 ไม่น่าเชื่อถือเท่ากับการตรวจสอบความซ้ำซ้อนแบบ 32 บิตแต่อย่างน้อยในซอฟต์แวร์ - มันเร็วกว่าและง่ายกว่าในการนำไปใช้ คำนิยาม ให้B = [b 1 , ⋯, b n ]เป็นอาร์เรย์ไบต์ การตรวจสอบ Adler-32 ของBหมายถึงผลลัพธ์ของ+ 65536 ×สูงต่ำโดยที่: ต่ำ: = ((1 + b 1 + ⋯ + b n ) mod 65521) สูง: …

24
ตัวแปลรหัสมอร์ส
เขียนโปรแกรมที่สั้นที่สุดที่จะเปลี่ยนเข้ามาตรฐานลงในรหัสมอร์ส อักขระที่ไม่ได้อยู่ในตารางควรพิมพ์ตามที่เป็น
32 code-golf  morse 

19
การปรับปรุง Caesar Pig Latin Cipher
ปัญหาเกี่ยวกับ Caesar cipher คือคำที่เป็นผลลัพธ์มักไม่สามารถออกเสียงได้ ปัญหากับ Pig Latin คือการถอดรหัสง่าย ทำไมไม่รวมพวกเขา? อินพุต คำที่ประกอบด้วยตัวอักษรภาษาอังกฤษ 26 ตัว เอาท์พุต ขั้นแรกให้เปลี่ยนพยัญชนะทุกตัวในคำเป็นพยัญชนะตัวถัดไปในตัวอักษร ดังนั้น b ไปที่ c, d ไปที่ f และ z ไปที่ b จากนั้นเปลี่ยนเสียงสระทุกตัวเป็นเสียงสระถัดไปในตัวอักษร (คุณไปที่ a) สุดท้ายหากตัวอักษรตัวแรกของคำเป็นตัวอักษรให้ย้ายตัวอักษรนั้นไปยังท้ายคำและเพิ่ม "ay" ไปยังตอนท้ายของคำ ตัวอย่าง: cat -> evday dog -> uhfay eel -> iim นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดชนะ กรณีไม่สำคัญ สระที่จะใช้คือ A, E, I, O และ …

21
กระเบื้อง Minesweeper รอบตัวฉันคืออะไร
เรือกวาดทุ่นระเบิดเป็นเกมไขปริศนาที่มีการซ่อนทุ่นอยู่รอบ ๆ แผ่นกระดานที่มีวัตถุประสงค์เพื่อระบุตำแหน่งของทุ่นระเบิดทั้งหมด การคลิกที่เหมืองจะสูญเสียเกม แต่การคลิกที่ไทล์อื่น ๆ จะแสดงตัวเลขตั้งแต่ 0-8 ซึ่งหมายถึงจำนวนเหมืองที่ล้อมรอบมันโดยตรง เมื่อกำหนดตัวเลขคุณต้องแสดงการรวมตัวแบบสุ่มที่เป็นไปได้ของแผ่นเปล่าและเหมืองโดยรอบ สิ่งนี้ควรอยู่ในรูปแบบของอาร์เรย์ 3x3 ไทล์กึ่งกลางควรเป็นจำนวนเหมืองที่ใช้เป็นอินพุต * ต้องมีโอกาสที่ไม่เป็นศูนย์เพื่อให้ชุดค่าผสมทั้งหมดเกิดขึ้น ตัวอย่าง _ = blank square X = mine 0 ___ _0_ ___ 1 _X_ _1_ ___ 1 ___ _1_ X__ ___ _1_ __X 4 _X_ X4X _X_ 4 X_X _4_ X_X 4 ___ X4X X_X …

29
เป็นสองเท่าในแบบของคุณ
มีการคู่ของความท้าทายที่เกี่ยวข้องกับรหัสที่มาเสแสร้ง A: ที่นี่และที่นี่ งานที่เรามีที่นี่ยากขึ้นนิดหน่อย แต่น่าจะทำได้ในเกือบทุกภาษา ในการท้าทายนี้คุณจะต้องใช้จำนวนเต็มบวกโดยพลการ โปรแกรมของคุณจะต้องแสดงผลเป็นจำนวนเต็มสองเท่าสองเท่าเมื่อรหัสต้นฉบับของคุณเป็นสองเท่าก็จะใช้เวลาในการเป็นจำนวนเต็มบวกและการส่งออกมันยกกำลังสอง ซอร์สโค้ดของคุณเป็นสองเท่าได้อย่างไร ดีคุณสามารถมีได้ในแบบของคุณ นั่นคือจะบอกว่าคุณสามารถแยกรหัสที่มาของคุณขึ้นเป็นสตริงของไบต์หรืออักขระ (หรือราชสกุลใน Langs tokenized) ของใด ๆที่เท่าเทียมกันระยะเวลาที่คุณต้องการและทำซ้ำแต่ละก้อนสองครั้ง สำหรับโปรแกรมเริ่มต้นของABCDEFGHIJKL(ความยาว 12) ที่นี่เป็นโปรแกรมสองเท่าที่เป็นไปได้ทั้งหมด : Chunk length | Doubled source code -------------+------------------------- 1 | AABBCCDDEEFFGGHHIIJJKKLL 2 | ABABCDCDEFEFGHGHIJIJKLKL 3 | ABCABCDEFDEFGHIGHIJKLJKL 4 | ABCDABCDEFGHEFGHIJKLIJKL 6 | ABCDEFABCDEFGHIJKLGHIJKL 12 | ABCDEFGHIJKLABCDEFGHIJKL โปรดทราบว่านี่หมายถึงโปรแกรมที่มีความยาวสูงสุดสองเท่าสามารถทำได้สองวิธีเท่านั้น: ทุกตัวละครเพิ่มเป็นสองเท่าหรือโปรแกรมเต็มจะทำซ้ำสองครั้ง กฎ: รหัสจะต้องเป็นโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม อนุญาตให้ใช้วิธีมาตรฐาน …

6
จัดเรียงตำรา
จัดเรียงตำรา โรงเรียนจะเริ่มเร็ว ๆ นี้ (ถ้ายังไม่ได้ดำเนินการ) และถึงเวลาที่จะต้องสั่งหนังสือเรียนของเรา คุณต้องเรียงลำดับหนังสือตามลำดับตัวอักษร แต่ใช้เวลานานเกินไปคุณจึงตัดสินใจเขียนโปรแกรมเพื่อทำมัน ตัวอย่าง การป้อนข้อมูล: _ | | _ |F| | | |o|_|P| |o|B|P| | |a|C| | |r|G| |_|_|_| เอาท์พุท: _ | |_ |F| | _|o|P| |B|o|P| |a| |C| |r| |G| |_|_|_| อินพุต ข้อมูลที่ป้อนจะเป็นชุดหนังสือที่ต้องจัดเรียงตามตัวอักษรใหม่ มันจะมีเพียง: |, _, และ A-Za-zชื่อหนังสือถูกอ่านในแนวตั้งและบนล่าง คุณอาจเลือกที่จะสมมติว่าอินพุตนั้นถูกเติมด้วยช่องว่างเพื่อให้พอดีกับสี่เหลี่ยม หากคุณเลือกที่จะใส่เบาะด้วยช่องว่างโปรดระบุสิ่งนี้ในคำตอบของคุณ ความสูงของหนังสือสูงสุดที่โปรแกรมของคุณจะต้องจัดการมีความสูง 5,120 บรรทัดโดยไม่ล้มเหลว หนังสือจะมีความหนา …

7
เราลืมอะไรไป
งานของคุณคือการเขียนโปรแกรมคอมพิวเตอร์ที่ไม่ว่างประกอบด้วยลำดับของไบต์ หากเราเลือกไบต์เฉพาะในโปรแกรมและลบอินสแตนซ์ทั้งหมดของมันออกจากโปรแกรมโปรแกรมที่ถูกแก้ไขควรเอาท์พุทไบต์ที่ถูกลบออก เช่นถ้าโปรแกรมของเรา aabacba จากนั้นbcbจะส่งออกa, aaacaจะต้องมีการส่งออกbและจะเอาท์พุทaababac ไม่สำคัญว่าโปรแกรมที่ไม่ได้แก้ไขจะทำอะไร คำตอบจะได้คะแนนเป็นไบต์โดยมีเป้าหมายเพื่อลดจำนวนไบต์

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