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

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

30
ตัวเลขลดลงขณะที่ตัวอักษรเพิ่มขึ้น
แรงบันดาลใจจากการสุ่มเพิ่มจำนวนในขณะที่ตัวอักษรลดลง ได้รับรายชื่อของตัวอักษรผสมและจำนวนเต็ม (เช่น['a', 2, 3, 'b']) เพิ่มตัวอักษรโดยหนึ่งตำแหน่งในอักษร (ห่อที่zไปa) และลดตัวเลขโดย 1. ['b', 1, 2, 'c']สำหรับตัวอย่างข้างต้นผลผลิตที่ควรจะเป็น อินพุตสามารถเป็นรายการแบบผสม, สตริงแบบมีตัวคั่น, รายการสตริง ฯลฯ zล้อมรอบไปaด้วย แต่1ไปที่0และ0ไป-1ฯลฯ ข้อมูลที่ป้อนจะเป็น[a-z]จำนวนเต็มเท่านั้น คุณสามารถเลือกตัวอักษรพิมพ์ใหญ่[A-Z]ถ้าเป็นเรื่องง่ายสำหรับคุณ อินพุตรับประกันว่าไม่ว่างเปล่า ข้อมูลที่ป้อนอาจมีตัวเลขหรือตัวอักษรเท่านั้น ตัวอย่าง: Input Output ['a', 2, 3, 'b'] ['b', 1, 2, 'c'] ['a', 'b', 'z'] ['b', 'c', 'a'] [-1, 0, 257, 'x'] [-2, -1, 256, 'y'] [0, …

9
การแบ่งตารางออกเป็นสามเหลี่ยม
เป้าหมาย เป้าหมายของความท้าทายนี้คือการสร้างฟังก์ชั่นnซึ่งคำนวณจำนวนวิธีในการแบ่งn X 1ตารางเป็นสามเหลี่ยมซึ่งจุดยอดทั้งหมดของสามเหลี่ยมอยู่บนจุดกริด ตัวอย่าง ตัวอย่างเช่นมี 14 วิธีในการแบ่งพาร์ติชันตาราง 2 x 1 ดังนั้นf(2) = 14ผ่านพาร์ติชันต่อไปนี้ โดยที่พาร์ติชันมี 2, 2, 2, 2, 2, 4 และ 2 ทิศทางที่แตกต่างกันตามลำดับ เกณฑ์การให้คะแนน นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดจึงชนะ

8
Ternary-if Converter
ใน Java / .NET / C / JavaScript / ฯลฯ คุณสามารถใช้ ternary-ifs เพื่อตัดคำสั่ง if-shorten ให้สั้นลง ตัวอย่าง (ใน Java): // there is a String `s` and an int `i` if(i<0)s="Neg";else if(i>0)s="Pos";else s="Neut"; สามารถย่อให้สั้นด้วย ternary- หาก: s=i<0?"Neg":i>0?"Pos":"Neut"; ท้าทาย: อินพุต: if-else ปกติ (เป็นไปได้ด้วยการซ้อน) ที่ตั้งค่าตัวแปรเดียว เอาต์พุต: ternary ที่แปลงแล้วหาก กฏท้าทาย: คุณสามารถสมมติว่ากรณีอื่นทั้งหมดเป็นไปได้โดยไม่ต้องวงเล็บ (ดังนั้นถ้าบล็อกอื่น / if- ถ้า …
18 code-golf  string 

22
ssTTsSTtRrriinInnnnNNNIiinngg
ท้าทาย สำหรับอักขระแต่ละตัวของสตริงยกเว้นตัวสุดท้ายให้ทำดังนี้ เอาท์พุทตัวละครปัจจุบัน ตามด้วยการสุ่มเอาท์พุทจากรายการต่อไปนี้เป็นจำนวนสุ่มครั้งระหว่าง 1 - 5 (รวม): ตัวละครปัจจุบัน อักขระตัวถัดไปของสตริง เวอร์ชัน switchcase ของตัวละครที่คุณเปิดอยู่ รุ่น switchcase ของตัวละครต่อไปของสตริง กรณีทดสอบ String -> SSSTSStrTrIiinIIngn , . , . , . Hello world! -> ,,, .. , ,, .... , , .. .. . HHH HHEeelLlLllooO wwOworOOrrrRllDd!!D Programming Puzzles and Code Golf -> PrPPrRrOooooogggRgGraAraaaMMMmmmimMIiininGGgG PPPPuZzZZzZzzZzllLLEEeEsEsssS …

30
ค้นหาจำนวนศูนย์นำในจำนวนเต็ม 64 บิต
ปัญหา: ค้นหาจำนวนของศูนย์นำหน้าในจำนวนเต็มแบบ 64 บิต กฎ: อินพุตไม่สามารถถือเป็นสตริงได้ มันสามารถเป็นอะไรก็ได้ที่การดำเนินการทางคณิตศาสตร์และ bitwise เป็นตัวผลักดันอัลกอริธึม เอาต์พุตควรตรวจสอบความถูกต้องกับการแสดงตัวเลขจำนวนเต็มแบบ 64 บิตของหมายเลขโดยไม่คำนึงถึงภาษา ใช้กฎของรหัสกอล์ฟเริ่มต้น รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ: การทดสอบเหล่านี้ถือว่าเป็นจำนวนเต็มแบบเต็มของสองส่วน หากภาษา / การแก้ปัญหาของคุณขาดหรือใช้การแทนจำนวนเต็มที่ลงนามแตกต่างกันโปรดโทรออกและแจ้งกรณีทดสอบเพิ่มเติมที่อาจเกี่ยวข้อง ฉันได้รวมกรณีทดสอบบางข้อที่กล่าวถึงความแม่นยำสองเท่า แต่โปรดอย่าลังเลที่จะแนะนำรายการอื่น ๆ ที่ควรแสดง input output 64-bit binary representation of input (2's complement) -1 0 1111111111111111111111111111111111111111111111111111111111111111 -9223372036854775808 0 1000000000000000000000000000000000000000000000000000000000000000 9223372036854775807 1 0111111111111111111111111111111111111111111111111111111111111111 4611686018427387903 2 0011111111111111111111111111111111111111111111111111111111111111 1224979098644774911 3 0001000011111111111111111111111111111111111111111111111111111111 9007199254740992 10 0000000000100000000000000000000000000000000000000000000000000000 …

25
การแปลงตัวเลขจากการแทน Zeckendorf เป็นทศนิยม
เกี่ยวกับการเป็นตัวแทนของ Zeckendorf / หมายเลขฐานฟีโบนักชี นี่คือระบบตัวเลขที่ใช้หมายเลขฟีโบนักชีเป็นฐาน ตัวเลขประกอบด้วย 0 และ 1 และแต่ละ 1 หมายถึงตัวเลขมีหมายเลข Fibonacci ที่สอดคล้องกันและ 0 หมายถึงไม่มี ตัวอย่างเช่นลองแปลงจำนวนธรรมชาติทั้งหมด <= 10 เป็นเบสฟีโบนักชี 1 จะกลายเป็น 1 เพราะมันคือผลรวมของ 1 ซึ่งเป็นตัวเลขฟีโบนักชี 2 จะกลายเป็น 10 เพราะมันคือผลรวมของ 2 ซึ่งเป็นจำนวนฟีโบนักชีและมันไม่จำเป็นต้อง 1 เพราะเราได้ผลรวมที่ต้องการไปแล้ว 3 จะกลายเป็น 100 เพราะมันคือผลรวมของ 3 ซึ่งเป็นตัวเลขฟีโบนักชีและมันไม่จำเป็นต้อง 2 หรือ 1 เพราะเราได้ผลรวมที่ต้องการแล้ว 4 จะกลายเป็น 101 เพราะเป็นผลรวมของ [3,1] ซึ่งทั้งคู่เป็นตัวเลขฟีโบนักชี …

9
ระยะทาง Hamming สูงสุดระหว่างรายการของสายที่มีเบาะ
ระยะห่างของ Hamming ระหว่างสองสายที่มีความยาวเท่ากันคือจำนวนตำแหน่งที่อักขระที่เกี่ยวข้องแตกต่างกัน หากสตริงไม่ได้มีความยาวเท่ากันระยะ Hamming จะไม่ถูกกำหนด ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ค้นหาระยะทางที่ใหญ่ที่สุดของ Hamming จากทุกคู่ของสตริงจากรายการของสตริงที่มีเบาะตามที่จำเป็นตามกฎที่อธิบายด้านล่าง a-zA-Z0-9ตัวละครจะมาจากภายใน สตริงอาจมีความยาวไม่เท่ากันดังนั้นสำหรับการเปรียบเทียบแต่ละครั้งสตริงที่สั้นกว่าจะต้องมีการเสริมเบาะดังนี้: ตัดสตริงจากจุดเริ่มต้นหลาย ๆ ครั้งตามต้องการเพื่อให้ตรงกับความยาวที่ต้องการ เปลี่ยนกรณีของตัวอักษรแต่ละการตัดเวลาคี่ (1, 3, 5, ฯลฯ ) ปล่อยให้สิ่งที่อยู่ข้างนอกa-zA-Zไม่เปลี่ยนแปลงเมื่อห่อ ตัวอย่างเช่นสมมติว่าคุณจำเป็นต้องวางสตริงอักขระ 5 ตัวab9Cdเพื่อให้ลงท้ายด้วยอักขระ 18 ตัว คุณจะจบลงด้วย: ab9CdAB9cDab9CdAB9 ^^^^^ ^^^ ด้วยการ^เพิ่มภายใต้การล้อมรอบที่ 1 และ 3 เพื่อไฮไลต์การเปลี่ยนแปลงของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ Input / Output รูปแบบอินพุต / เอาต์พุตมีความยืดหยุ่น คุณสามารถสมมติว่าอินพุตมีอย่างน้อยสองสตริงและสตริงทั้งหมดจะมีอักขระอย่างน้อยหนึ่งตัว ผลลัพธ์เป็นจำนวนเต็ม กฎระเบียบ นี่คือรหัสกอล์ฟ ใช้กฎมาตรฐาน กรณีทดสอบ [ "a", …
18 code-golf  string 

8
ขีดฆ่า 44 ยังเป็นปกติ 44; (
บทนำ เมื่อวันที่ 24 มีนาคม 2015 @isaacgแข็งแรงเล่นกอล์ฟคำตอบของเขา Pyth 44-42 ไบต์ เนื่องจากเครื่องหมายขีดฆ่า 44 ( 44 ) ดูเหมือนว่าปกติ 44 มาก@Optimizerจึงแสดงความคิดเห็นต่อไปนี้: ถูกขีดฆ่าออก 44 ยังคงเป็นเรื่องปกติ 44 :( หลังจากนั้นในวันที่ 21 ตุลาคม 2015 @ Doorknob ♦ golfed คำตอบ Ruby ของเขาจาก 44 ถึง 40 (และ 38 ต่อมา) ไบต์และเพิ่มส่วนต่อไปนี้ในคำตอบของเขาพร้อมลิงก์ไปยังความคิดเห็นดั้งเดิมของ@Optimizer : ขีดฆ่า 44 ยังเป็นปกติ 44; ( นี่คือจุดเริ่มต้นของmeme คำตอบ - การผูกมัดซึ่งทุกคนใน …

30
การบีบอัดข้อความ
ด้วยข้อความที่ระบุด้านล่างมีคำบางคำในข้อความที่ซ้ำหลายครั้งในข้อความ ใช้ภาษาการเขียนโปรแกรมเพื่อเขียนรหัสย่อที่บีบอัดข้อความเพื่อแสดง หรือกล่าวอีกนัยหนึ่งให้ใช้จำนวนไบต์ที่น้อยที่สุดเพื่อแสดงข้อความ ข้อความคือ: Peter Piper picked a peck of pickled peppers. A peck of pickled peppers Peter Piper picked. If Peter Piper picked a peck of pickled peppers, Where's the peck of pickled peppers Peter Piper picked?

26
คำว่า coprime หรือไม่
ป.ร. ให้คำรักษาทุกตัวอักษรที่เป็นตัวเลขที่อยู่ในตัวอักษรภาษาอังกฤษ (เพื่อให้aเป็น 1 bกลายเป็น 2 zกลายเป็น 26 และอื่น ๆ ) และตรวจสอบว่าทั้งหมดของพวกเขารวมถึงรายการที่ซ้ำกันเป็นคู่coprime การป้อนข้อมูลเป็นเพียงหนึ่งคำของตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก เอาท์พุทคือความจริงถ้าคำว่า coprime: ค่าความจริง / เท็จใด ๆ แต่เพียงสองรูปแบบของพวกเขา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม กรณีทดสอบ: man: True day: True(ขอบคุณØrjan Johansen) led: False( l=12และd=4มีgcd=4) mana: True(แม้ว่าจะaเกิดขึ้นหลายครั้ง 1 และ 1 เป็น coprimes) mom: False( gcd(13,13)=13)) of: False(ขอบคุณ xnor; แม้ว่า15∤6, gcd(15,6)=3) a: True(หากไม่มีตัวอักษรคู่ให้ถือว่าคำว่า coprime ด้วย) นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

20
โคมไฟลาวาแบบง่ายๆ
บทนำ: ฉันคิดว่าทุกคนรู้ว่าโคมไฟลาวาคืออะไร แต่ในกรณีที่พวกเขาไม่ได้: (แหล่งรูปภาพ) โดยพื้นฐานแล้วพวกมันเป็นหลอดแก้วที่บรรจุขี้ผึ้งในของเหลวโปร่งแสง ส่วนด้านล่างถูกทำให้ร้อนเมื่อเปิดหลอดไฟทำให้เกิดการเปลี่ยนแปลงของความหนาแน่นและทำให้ขี้ผึ้งลอยขึ้นไปด้านบน เมื่อมันเย็นตัวลงมันจะตกลงมาอีกครั้งทำให้เกิดผลกระทบที่เราเห็นด้านบน โดยปกติจะใช้เวลาประมาณ 45-60 นาทีสำหรับฐานของหลอดไฟที่จะเพิ่มอุณหภูมิสูงพอที่จะเปลี่ยนขี้ผึ้งให้เป็นขี้ผึ้งเหลว (หากหลอดไฟตั้งอยู่ในพื้นที่ที่อุณหภูมิห้อง) ข้อมูลเพิ่มเติมเกี่ยวกับ Wikipedia ซึ่งใช้เป็นแหล่งข้อมูลสำหรับข้อความบางส่วนด้านบน ท้าทาย: ระบุจำนวนเต็มบวกที่nระบุจำนวนนาทีที่ผ่านไปนับตั้งแต่เราเปิดหลอด Lava แล้วส่งออกสถานะสุ่มของหลอด Lava ตามจำนวนเต็มห้าระดับ สำหรับความท้าทายนี้เราจะบอกว่าโคมไฟลาวามีขี้ผึ้งทั้งหมด 1,000 หน่วยและเรามีห้าระดับที่ขี้ผึ้งสามารถอยู่ได้ 1) หากnต่ำกว่า 45 โคมไฟลาวายังคงร้อนขึ้นดังนั้นเอาต์พุตจะเป็นสี่บรรทัดว่าง1000ที่ด้านล่าง: 1000 2) หากnอยู่ในช่วง[45, 60)ที่หลอดลาวามีอุณหภูมิสูงขึ้นพอที่ขี้ผึ้งจะเคลื่อนที่ไปรอบ ๆ แต่ยังไม่สูงมาก ขี้ผึ้งสามารถเข้าถึงและรวมถึงระดับที่สาม 3) ถ้าnมี60หรือสูงกว่าขี้ผึ้งสามารถอยู่ในระดับใดก็ได้ในห้าระดับ ดังนั้นเมื่อได้รับจำนวนเต็มบวกnเป็นอินพุตเราจะแสดงสถานะสุ่มโดยคำนึงถึงกฎสามข้อข้างต้น นี่คือตัวอย่างผลลัพธ์: ผลลัพธ์nที่เป็นไปได้สำหรับสิ่งใด ๆที่>= 45: 523 106 371 913 87 ผลลัพธ์nที่เป็นไปได้สำหรับสิ่งใด ๆที่>= 60: 73 …

24
ตรวจสอบอาร์เรย์อุโมงค์ของฉัน
ลองนึกภาพคุณมีอาร์เรย์ของจำนวนเต็มซึ่งมีค่าที่ไม่เป็นลบเป็นตัวชี้ไปยังตำแหน่งอื่นในอาร์เรย์เดียวกันเฉพาะค่าที่เป็นตัวแทนของอุโมงค์ดังนั้นถ้าค่าในตำแหน่ง A เป็นค่าบวกและชี้ไปที่ตำแหน่ง B ดังนั้นค่าในตำแหน่ง B จะต้องเป็นบวกและชี้ไปที่ตำแหน่ง A เพื่อแสดงปลายทั้งสองของอุโมงค์ ดังนั้น: ท้าทาย ให้อาเรย์ของจำนวนเต็มตรวจสอบว่าอาเรย์นั้นสอดคล้องกับข้อ จำกัด ในการเป็นอาเรย์อุโมงค์และคืนค่าสองค่าที่ชัดเจนและสอดคล้องกันสำหรับความจริงและเท็จ ค่าในอาร์เรย์จะต่ำกว่าศูนย์สำหรับตำแหน่งที่ไม่ใช่ช่องสัญญาณและศูนย์หรือสูงกว่าสำหรับตำแหน่งช่องสัญญาณ หากอาร์เรย์ของคุณมีการจัดทำดัชนีไว้ 1 รายการค่าศูนย์จะแสดงถึงตำแหน่งที่ไม่ใช่ช่องสัญญาณ ไม่จำเป็นต้องตรวจสอบค่าที่ไม่ใช่ช่องสัญญาณ หากค่าบวกในเซลล์ชี้ไปที่ตัวเองนั่นเป็นความเท็จ ถ้า A ชี้ไปที่ B, B ถึง C และ C ถึง A นั่นเป็นความเท็จ หากค่าบวกคะแนนเกินขีด จำกัด ของอาร์เรย์นั่นเป็นเท็จ ตัวอย่าง ตัวอย่างต่อไปนี้เป็นดัชนี 0: [-1, -1, -1, 6, -1, -1, 3, -1, -1] Truthy (position 3 …

2
นี่เป็นเมทริกซ์ Weyr หรือไม่?
มีประเภทของเป็นn × nเมทริกซ์Wเรียกว่าพื้นฐานรูปแบบที่ยอมรับ Weyr เมทริกซ์ดังกล่าวอธิบายโดยบล็อกและมีคุณสมบัติดังต่อไปนี้โดยใช้แผนภาพอ้างอิงต่อไปนี้: บล็อกเส้นทแยงมุมหลักW iiมีn ฉัน × n ฉันเมทริกซ์ของแบบฟอร์มλ ฉันn ฉันที่ฉันn ฉันเป็นn ฉัน × n ฉันเมทริกซ์เอกลักษณ์ n 1 ≥ n 2 ≥ ... ≥ n r บล็อกซูเปอร์แปดเหลี่ยมแรกW k-1, kสำหรับk ∈ 2..rคือเมทริกซ์n k-1 × n kที่มีคอลัมน์เต็มในรูปแบบแถวลดแถวหรือมากกว่าเพียงแค่ใส่ฉันn kนั่งอยู่ด้านบนของn k-1 - n kศูนย์แถว บล็อกอื่น ๆ ทั้งหมดคือ0เมทริกซ์ ตัวอย่างเช่น: บล็อกเส้นทแยงมุมหลัก (สีเหลือง) เป็นเช่นนั้นว่าฉันคือ 4, …

30
ค่าสูงสุด () ไม่เพียงพอ
Intro เพื่อนโพสต์คำถามนี้ในวันนี้ด้วยวิธีที่แตกต่างกันเล็กน้อย - "คำสั่ง [Python] เดียวสามารถกำหนดจำนวนเต็มจำนวนมากที่สุดและพวกเขาไม่เท่ากันหรือไม่" ในขณะที่เราไม่พบวิธีการทำสิ่งนี้ภายในคำจำกัดความที่สมเหตุสมผลของ "คำสั่งเดียว" ฉันคิดว่ามันอาจเป็นปัญหาที่สนุกสำหรับการเล่นกอล์ฟ ท้าทาย " ส่งคืนรายการที่ใหญ่ที่สุดของจำนวนเต็มถ้า - และ - เท่านั้น - หากไม่เท่ากับทั้งหมด " โดยเฉพาะอย่างยิ่ง: รับสตริงที่มีเฉพาะรายการจำนวนเต็มที่คั่นด้วยเครื่องหมายจุลภาค: หากพวกเขาเท่ากันทั้งหมดคืน / ส่งออกไม่มีอะไร อื่นกลับ / ส่งออกที่ใหญ่ที่สุด กฎระเบียบ การป้อนข้อมูลจะต้องเป็นสตริงที่มีเพียงรายการคั่นด้วยเครื่องหมายจุลภาคของจำนวนเต็ม การส่งออกจะต้องเป็นอะไร (การส่งออกของทุกชนิดไม่ได้) หรืออื่น ๆ องค์ประกอบที่ใหญ่ที่สุดจากการป้อนข้อมูลที่แสดงเป็นมันเป็นในการป้อนข้อมูล คอมเมนต์อาจเป็นโปรแกรมเต็มรูปแบบหรือเพียงแค่ฟังก์ชั่นให้คุณมีวิธีทดสอบ! สมมติฐาน สมมติว่าองค์ประกอบรายการอินพุตอาจมากกว่าหนึ่งหลัก แต่ไม่ใหญ่กว่า (2 32 - 1) สมมติว่ารายการอินพุตมีองค์ประกอบมากกว่าหนึ่งล้านรายการ สมมติว่าอินพุตจะไม่รวมค่าลบ สมมติว่าอินพุตจะไม่ว่างเปล่า เพื่อหลีกเลี่ยงข้อสงสัยคำอธิบายของการท้าทายที่ให้หลังจาก "เจาะจงมากขึ้น" จะแทนที่คำแถลงของการท้าทายที่อยู่เหนือ ("กลับมาที่ใหญ่ที่สุด ... …
18 code-golf 

14
ตารางสุ่มสมมาตร
ท้าทาย เขียนโปรแกรมหรือฟังก์ชั่นที่ส่งคืนหรือพิมพ์เมทริกซ์จตุรัสสมมาตรแบบสุ่ม อินพุต N : ขนาดของเมทริกซ์คือ6 x 6 เอาท์พุต เมทริกซ์ คุณสามารถพิมพ์กลับเป็นสตริง (ด้วยการขึ้นบรรทัดใหม่) หรือเป็นรายการ / อาร์เรย์ของรายการ / อาร์เรย์ กฎระเบียบ คุณต้องใช้อย่างน้อยNอักขระที่แตกต่างกันซึ่งNขนาดของเมทริกซ์จตุรัส (อินพุต) อยู่ที่ใด เนื่องจากเราใช้ตัวอักษร [a, z] [A, Z] และตัวเลข [0, 9] (และมีเพียง 1 หลักเท่านั้นในเวลานั้น) คุณสามารถสันนิษฐานได้N < 27และN > 2นั่นเป็นเพราะN <= 2คุณไม่สามารถมีตัวอักษรทั้งสองได้ และตัวเลข ท้ายสุด แต่ไม่ท้ายสุดตัวอักษร / ตัวเลขทุกตัวต้องมีความน่าจะเป็นที่ไม่เป็นศูนย์ที่เกิดขึ้น (การแจกเครื่องแบบไม่จำเป็น) อย่างไรก็ตามผลลัพธ์ต้องมีNตัวอักษร / ตัวเลขต่างกันอย่างน้อย เมทริกซ์จะต้องมีทั้งแนวนอนและแนวตั้งสมมาตร 2 …
18 code-golf  matrix 

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