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

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

3
ปัญหาการบรรจุเลื่อน
เอลฟ์ของซานต้าต้องการความช่วยเหลือในการพิจารณาว่าของขวัญชุดปัจจุบันของพวกเขาจะเข้ากับซานต้า เขียนโปรแกรมสั้นที่สุดที่เป็นไปได้ในภาษาที่คุณเลือกเพื่อช่วยพวกเขาออก ข้อ จำกัด เลื่อนของซานต้าวัดกว้าง 6 ฟุตยาว 12 ฟุตและลึก 4 ฟุต ของขวัญอาจมีความเปราะบางดังนั้นจึงไม่สามารถวางซ้อนกันได้ คุณสามารถหมุนและพลิกของขวัญได้ตามที่คุณต้องการ แต่ซานต้าเป็นหุ่นยนต์ที่ครอบงำจิตใจดังนั้นการหมุนจะทวีคูณ 90 องศา ข้อกำหนดด้านสุขภาพและความปลอดภัยในขั้วโลกเหนือกำหนดว่าของขวัญต้องอยู่สูงกว่า 1 ฟุตไม่สูงเกิน 1 ฟุต (ดังนั้นพวกเขาอาจไม่สูงเกิน 5 ฟุต) อินพุต อินพุตจะเปิดSTDINและจะเป็นจำนวนเต็มหนึ่งตัวซึ่งแสดงถึงจำนวนของของขวัญในแบตช์ตามด้วยรายการมิติข้อมูลของของขวัญ - 1 การนำเสนอต่อบรรทัด 3 มิติ (ฟุต) คั่นด้วยช่องว่าง ตัวอย่าง: 1 6 12 5 6 1 12 3 1 12 4 1 12 1 1 12 …
11 code-golf 

2
Blockbox Hex ที่?
เขียนโปรแกรมหรือฟังก์ชั่นในภาษาการเขียนโปรแกรมใด ๆ ที่รับอินพุต / อาร์กิวเมนต์เลขฐานสิบหก 6 หลัก อินพุต / อาร์กิวเมนต์สามารถเป็นค่า 6 ค่าหรือสตริงอักขระ 6 ตัว โปรแกรมของคุณควรส่งออกบล็อกสี่เหลี่ยมกว้าง 8 ตัวอักษรของตัวอักษรที่มีเฉพาะเลขฐานสิบหกที่ให้มารวมกับช่องว่าง (+ Linefeed) บล็อกสี่เหลี่ยมคือการรวมกันของรูปร่างบล็อกขนาดเล็กหนึ่งรูปสำหรับแต่ละค่าที่ให้มา 6 ค่า ต่อไปนี้เป็นตัวอย่างอินพุต 2 demostrative และเอาต์พุตตัวอย่างที่ใช้ได้: ตัวอย่างอินพุต : "464fa6" or [4, 6, 4, 15, 10, 6] ทางออกหนึ่งที่ถูกต้องการส่งออก : 44 66 ff 44 66 ff 66 ff aa f aaa ffff …
11 code-golf 

13
สวัสดีชาวโลกเรนโบว์
การจัดการกับสีในภาษาที่ไม่ใช่มาร์กอัปมักทำให้เกิดความยุ่งยาก ฉันต้องการดูรูปแบบการใช้สีในภาษาต่างๆ เป้าหมายของการแข่งขันนี้คือแสดงผลลัพธ์ 'Hello World' ในเจ็ดสีรุ้ง จากข้อมูลของ Wikipedia เหล่านี้มี 7 สี Red #FF0000 (RGB: 255, 0, 0) Orange #FF7F00 (RGB: 255, 127, 0) Yellow #FFFF00 (RGB: 255, 255, 0) Green #00FF00 (RGB: 0, 255, 0) Blue #0000FF (RGB: 0, 0, 255) Indigo #6600FF (RGB: 111, 0, 255) Violet #8B00FF (RGB: …

8
codegolf.com: ประหยัดเวลา
จาก codegolf.com (ไม่โหลด ณ วันที่ 15 กันยายน 2011) เป็นสิ่งที่ทำให้ฉันบ้า พิมพ์ไปที่ STDOUT นาฬิกาของแบบฟอร์มที่มีความแม่นยำเวลาอ่านจาก STDIN และทำเครื่องหมายhที่ชั่วโมงและmนาที (ปัดเศษลงเป็นหลาย ๆ 5) และxถ้าพวกเขาทับซ้อนกันเห็บที่ไม่ได้ใช้จะถูกทำเครื่องหมายด้วยoเพื่อให้ echo "23:13" | perl script.pl อัตราผลตอบแทน o h o o m o o o o o o o ของฉันคือ: $/=':';($h,$m)=<>;printf'%9s %5s%8s %2s%14s %s%16s %2s%14s %5s%8s %9s',map{qw'o h m x'[2*($_==int$m/5)^$_==$h%12]}map{$_,11-$_}0..5 สำหรับ 136 ตัวอักษรโดยใช้ …
11 code-golf 

5
ล่ามคะแนนดนตรี
ด้วยคะแนนดนตรี ascii คุณจะต้องสามารถส่งออกบันทึกและความยาวที่สอดคล้องกัน คะแนนจะมีอยู่ระหว่าง 5 ถึง 15 โน้ตรวมอยู่ด้วยและถูกถอดความบนเสา ขั้นบันไดประกอบด้วยเส้นแนวนอนห้าเส้นซึ่งประกอบด้วยอักขระ - (ลบ) คั่นด้วยเส้นของช่องว่าง บรรทัดล่างสุดของไม้เท้านั้นเทียบเท่ากับโน้ต 'E' เส้นของช่องว่างเหนือเส้นด้านล่างจะระบุ 'F' และเป็นระยะห่างที่สูงกว่าที่ 'E' อยู่ด้านล่าง ดำเนินการต่อไปดังนี้ โปรดทราบว่าโน้ตจะสูงถึง 'G' ก่อนเริ่มอีกครั้งที่ 'A' ดูด้านล่าง: F ---------- E D ---------- C B ---------- A G ---------- F E ---------- โปรดทราบว่าตัวอักษรไม่รวมอยู่ในอินพุต บันทึกย่อดังกล่าวจะถูกวางทับที่ด้านบนของไม้เท้าโดยใช้อักขระ ao (ตัวพิมพ์เล็ก ooh) เพื่อระบุ 'หัวกระดาษโน้ต' หัวบันทึกนี้แสดงความถี่ของบันทึกย่อและดังนั้นการแสดงตามตัวอักษรของมันดังกล่าวข้างต้น ตัวอย่างเช่นโน้ตที่วางไว้ในคะแนนด้านล่างแสดงถึง 'A': ---- …

10
ค้นหาผลรวมลำดับที่ใหญ่ที่สุด
กำหนดลำดับของจำนวนเต็มหาผลรวมที่ใหญ่ที่สุดของลำดับ (จำนวนเต็มในตำแหน่งต่อเนื่อง) ของลำดับ การเรียงลำดับสามารถเป็นค่าว่างได้ (ในกรณีนี้ผลรวมคือ 0) อินพุตถูกอ่านจากอินพุตมาตรฐานหนึ่งจำนวนเต็มหนึ่งต่อบรรทัด ผลรวมที่ใหญ่ที่สุดจะต้องเขียนลงในเอาต์พุตมาตรฐาน ฉันเขียนเครื่องกำเนิดไฟฟ้าขนาดเล็กสำหรับคุณ: #include <stdio.h> #include <assert.h> /* From http://en.wikipedia.org/wiki/Random_number_generation */ unsigned m_w; unsigned m_z; unsigned get_random() { m_z = 36969 * (m_z & 65535) + (m_z >> 16); m_w = 18000 * (m_w & 65535) + (m_w >> 16); return (m_z << 16) …

7
เขียนโปรแกรมจำลองตัวเอง
เขียนโปรแกรมอย่างง่ายที่คัดลอกตัวเองเมื่อดำเนินการ โปรแกรมของคุณควรเป็นไฟล์เรียกทำงานบางประเภทใน Windows, Linux และอื่น ๆ ควรสร้างไฟล์ปฏิบัติการใหม่ซึ่งเหมือนกับไฟล์ปฏิบัติการดั้งเดิมของคุณโดยใช้ชื่อแบบสุ่มและออกจากโปรแกรม โปรแกรมของคุณไม่ควรเกี่ยวข้องกับการอ่านหรือคัดลอกไฟล์ อนุญาตให้เขียนไฟล์เพื่อสร้างไฟล์เรียกทำงานใหม่เท่านั้น (PS. ฉันค่อนข้างอายเมื่ออยู่ที่ Wikipedia Self-replicating programเปลี่ยนเส้นทางไปยังComputer virusบทความ ... : / ... ) ขนาดไฟล์ปฏิบัติการที่เล็กที่สุดจะชนะ คำตอบของคุณอาจเป็นรหัสการเขียนโปรแกรมที่มีระบบปฏิบัติการ & คอมไพเลอร์, รหัสการประกอบหรือการถ่ายโอนข้อมูล HEX ของไฟล์ปฏิบัติการได้
11 code-golf  quine 

5
คำนวณความแตกต่างระหว่างสองวัน
ปัญหาการจัดการวันที่อื่น: P งาน เขียนโปรแกรมหรือฟังก์ชั่นที่คำนวณความแตกต่างระหว่างวันที่สองวันที่กำหนดโดยผู้ใช้ อินพุตและเอาต์พุต คล้ายกับก่อนหน้านี้หนึ่งปัจจัยการผลิตเป็นสองYYYYMMDDs, คั่นด้วยช่องว่าง, เครื่องหมายจุลภาคหรือเครื่องหมายลบ,- ตัวอย่างของค่าอินพุต: 20100101-20010911 20110620-20121223 19000101 20101010 33330101,19960229 00010101 99991231 เอาท์พุทเป็นจำนวนเต็มซึ่งเป็นความแตกต่างระหว่างวันที่สองวัน ยกตัวอย่างเช่นการป้อนข้อมูล20110101-20100101อัตราผลตอบแทน365และอัตราผลตอบแทน33320229 17000101596124 คุณสามารถทดสอบผลลัพธ์ ที่นี่ ที่นี่ (ดูความคิดเห็นของ rintaun ด้านล่าง) หากสองวันเหมือนกันโปรแกรมควรกลับ0มาถ้าวันนั้นถูกต้อง (ดูคะแนน ) การ จำกัด แน่นอนคุณจะต้องไม่ใช้ใด ๆชนิดของฟังก์ชั่น / ระดับ / ... ซึ่งจะเกี่ยวข้องกับการประทับเวลาหรือวันและคุณควรใช้ปฏิทินเกรกอเรียน คะแนน หากรหัสของคุณไม่ได้ จำกัดscore = -∞อยู่ ค่าเริ่มต้นbonusคือ 1 หากรหัสของคุณทำงานโดยไม่คำนึงถึงคำสั่งของปัจจัยการผลิต (ตัวอย่างเช่น20100101,20110101ผลตอบแทน365หรือ)-365bonus+=1 หากรหัสของคุณสามารถจัดการกับปีที่ 0bonus+=0.5 , หากรหัสของคุณตระหนักถึงเดือนไม่ถูกต้อง …
11 code-golf  date 

8
ตัวนับคะแนนสำหรับ Skat
งานของคุณคือการเขียนโปรแกรมขนาดเล็กที่นับคะแนนของมือ Skat ดาดฟ้า Skat มีไพ่ 7 ถึง 10, Jack, Queen, King และ Ace (เรียกว่า Unter, Ober, Königและ Daus) เราใช้ชุดเยอรมันซึ่งมีต้นโอ๊กใบไม้ฮาร์ทส์และเบลล์แทน Clubs, Spades, Hearts และ Diamonds คะแนนจะถูกกำหนดโดยหมายเลขบนบัตร: 7, 8 และ 9 คือ 0 คะแนน Unter คือ 2 คะแนน Ober คือ 3 คะแนน โคนิกคือ 4 คะแนน 10 คือ 10 คะแนน Daus คือ 11 …

2
เป็นวิธีที่ดีในการจัดการกับงานที่ต้องใช้อาร์เรย์โดยใช้ Haskell อะไร
บ่อยครั้งที่งานต้องใช้อาร์เรย์จริง รับอินสแตนซ์งานเพื่อใช้ Befunge หรือ> <> ฉันพยายามใช้Arrayโมดูลสำหรับสิ่งนี้ แต่มันยุ่งยากจริงๆเพราะมันรู้สึกว่าฉันเขียนโค้ดมากเกินไป ใครสามารถช่วยฉันได้บ้างในการแก้ปัญหาโค้ดกอล์ฟดังกล่าวให้น้อยลงและทำงานได้มากขึ้น?

30
แจกแจงตัวเลข palindromic ทั้งหมด (เป็นทศนิยม) ระหว่าง 0 ถึง n
รับค่าเป็นจำนวนเต็มที่ไม่ใช่ค่าลบ n ระบุจำนวน palindromic ทั้งหมด (เป็นทศนิยม) ระหว่าง 0 ถึง n (ช่วงที่ครอบคลุม) หมายเลข palindromic ยังคงเหมือนเดิมเมื่อมีการกลับตัวเลข ตัวเลข palindromic ตัวแรก (ในฐาน 10) มีให้ที่นี่ : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99, 101, 111, 121, 131, 141, 151, 161, 171, 181, 191, …
11 code-golf  number 

1
เขียนไฟล์บีบอัดสำหรับไฟล์ gzip
ภารกิจของการท้าทายนี้มีดังต่อไปนี้: เขียนโปรแกรมที่อ่านไฟล์ขนาดที่เหมาะสม (สมมติว่า <16 MB) จาก stdin หรือที่อื่น (แต่คุณต้องการ แต่ต้องไม่ฮาร์ดโค้ด) และใส่เอาท์พุทที่ถูกบีบอัดไปยัง stdout เอาต์พุตจะต้องเป็นไฟล์บีบอัด gzip ที่ถูกต้องและหากไฟล์บีบอัดวิ่งผ่าน gunzip ก็ควรให้ไฟล์เดียวกันทุกประการ กฎระเบียบ ภาษาโปรแกรมที่ใช้ต้องเป็นที่รู้จักก่อนการแข่งขันนี้จะเริ่มขึ้น คะแนนของโปรแกรมของคุณคือจำนวนตัวอักษรของซอร์สโค้ดหรือโปรแกรมที่ประกอบ (สิ่งที่สั้นกว่า) คุณไม่ได้รับอนุญาตให้ใช้ไลบรารีการบีบอัดใด ๆ ที่มีอยู่ มีความสุข!

7
สร้างเกมทายคำศัพท์เก้าระดับ
พื้นฐาน: คุณจะต้องจัดให้มีเกมเดาคำเก้าระดับในตัวละครที่น้อยที่สุดเท่าที่จะเป็นไปได้ (ในภาษาที่คุณเลือก) ตัวชี้วัด: จัดทำรายการคำ (หนึ่งคำต่อบรรทัดคั่นด้วยการขึ้นบรรทัดใหม่) (เช่น /usr/share/dict/wordsหรืออาจคล้ายกัน) มันเป็นการดีที่จะใส่ชื่อไฟล์หรือ wordlist ลงในโซลูชันของคุณ ระบุ 9 ระดับด้วยความยาวคำที่เพิ่มขึ้น (คำที่มี 4 อักขระ->12 ตัวอักษร): ระดับ 1: คำสุ่มจากรายการคำที่มี 4 ตัวอักษร ระดับ 2: คำสุ่มจากรายการคำที่มี 5 ตัวอักษร ... ... ระดับ 8: คำสุ่มจากรายการคำที่มีอักขระ 11 ตัว ระดับ 9: คำสุ่มจากคำที่มี 12 ตัวอักษร ในทุกระดับให้ใส่คำที่สุ่มเลือกจากรายการ (ด้วยความยาวของคำที่แน่นอน) และแทนที่อักขระจำนวนหนึ่งด้วยเครื่องหมายดอกจัน ( *) จำนวนของตัวละครที่จะมาแทนที่: current_word_length / 3(รอบลง) สุ่มซึ่งตัวละครที่จะมาแทนที่ …
11 code-golf  game 

15
แลกเปลี่ยนของขวัญวันหยุด
ปัญหาอีกประการหนึ่งจากการเล่นกอล์ฟภายในของเรา ... ช่วงนี้เป็นวันหยุดปีที่แล้ว ปัญหา Andy, Barb, Carl, Didi, Earl และ Fran กำลังซื้อของขวัญให้กันและกัน วาดชื่อสำหรับแลกเปลี่ยนของขวัญ แต่ละคนซื้อของขวัญหนึ่งชิ้นและรับของขวัญหนึ่งชิ้น ไม่มีใครซื้อของขวัญของตัวเอง การรันโซลูชันหลายครั้งควรให้ผลลัพธ์ที่แตกต่างกัน (คู่ของตัวให้และตัวรับไม่ควรคาดเดาหรือเหมือนกันจากการรันเพื่อรัน) INPUT ไม่มี. เอาท์พุท จัดรูปแบบตามตัวอย่างนี้: Andy ซื้อ Barb Barb ซื้อ Carl Carl ซื้อ Didi Didi ซื้อ Earl Earl ซื้อ Fran Fran ซื้อ Andy
11 code-golf 

26
การรวมกันทางคณิตศาสตร์
เขียนโปรแกรมที่รับอินพุตเช่น: n,k ซึ่งคำนวณ: แล้วพิมพ์ผลลัพธ์ ตัวอย่างตัวเลข: การป้อนข้อมูล: 5,2 การคำนวณภายใน: พิมพ์ออก: 10 ฉันต้องการที่จะเห็นคำตอบที่เต้นงูหลามโซลูชั่นของฉัน 65 ตัวอักษร แต่ทุกภาษายินดีต้อนรับอย่างชัดเจน นี่คือทางออกของฉัน: n,k=input();f=lambda x:+(x<2)or x*f(x-1);print f(n)/(f(k)*f(n-k)) แก้ไข: ฉันยอมรับว่าคำถามนี้มาจากปริศนาการผสมทางคณิตศาสตร์ของเว็บไซต์ codegolf ฉันรู้ว่าคำตอบของฉันอาจมีความคืบหน้าไม่มากนัก แต่ผู้นำของเกมไขปริศนานี้แก้ปัญหาได้เกือบครึ่งตัวละคร จำนวนอักขระต่ำสุดปัจจุบันนับตามภาษาคือ: Perl: 35 ทับทิม: 36 Python: 39 PHP: 62

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