คำถามติดแท็ก balanced-string

ในสตริงที่สมดุลคู่อักขระหรือสตริงย่อยบางคู่จะปรากฏในจำนวนเท่ากันเสมอ บ่อยครั้งที่มีข้อ จำกัด เพิ่มเติมที่คู่เหล่านั้นจะต้องมีการสั่งซื้อ ตัวอย่างที่พบบ่อยที่สุดคือสตริงวงเล็บที่ถูกต้อง ดูเพิ่มเติมที่ [palindrome] และแท็ก [ไวยากรณ์]

30
วงเล็บแบบยืดได้
พิจารณาสตริงที่ไม่ว่างเปล่าของวงเล็บที่สมดุลอย่างถูกต้อง: (()(()())()((())))(()) เราสามารถจินตนาการได้ว่าวงเล็บแต่ละคู่แสดงถึงวงแหวนในโครงสร้างแบบยืดหดได้ ลองขยายกล้องโทรทรรศน์ออก: ( )( ) ()( )()( ) () ()() ( ) () อีกวิธีในการดูคือวงเล็บที่ความลึกnถูกย้ายไปที่บรรทัดnในขณะที่รักษาตำแหน่งแนวนอนไว้ งานของคุณคือการใช้สตริงของวงเล็บที่มีความสมดุลและสร้างเวอร์ชันเพิ่มเติม คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่น, รับอินพุตผ่าน STDIN (หรือเทียบเท่าที่ใกล้เคียงที่สุด), อาร์กิวเมนต์บรรทัดคำสั่งหรือพารามิเตอร์ฟังก์ชัน, และสร้างเอาต์พุตผ่าน STDOUT (หรือเทียบเท่าที่ใกล้เคียงที่สุด), ค่าส่งคืนหรือฟังก์ชัน (ออก) คุณอาจสมมติว่าสายป้อนข้อมูลที่ถูกต้องคือประกอบด้วยวงเล็บเท่านั้นซึ่งมีความสมดุลอย่างถูกต้อง คุณอาจพิมพ์ช่องว่างต่อท้ายในแต่ละบรรทัด แต่ไม่ต้องเว้นวรรคนำหน้าเกินความจำเป็น ยอดรวมบรรทัดต้องไม่ยาวเกินกว่าสองเท่าของความยาวของสตริงป้อนเข้า คุณสามารถเลือกที่จะพิมพ์ขึ้นบรรทัดใหม่ได้ ตัวอย่าง นอกเหนือจากตัวอย่างข้างต้นต่อไปนี้เป็นกรณีทดสอบอีกสองสามรายการ (อินพุตและเอาต์พุตถูกคั่นด้วยบรรทัดว่าง) () () (((()))) ( ) ( ) ( ) () ()(())((()))(())() ()( )( )( )() …

30
N (e (s (t))) สตริง
ในการ "function ซ้อน" สตริงคุณต้อง: ปฏิบัติต่ออักขระตัวแรกเป็นฟังก์ชันและอักขระต่อไปนี้เป็นอาร์กิวเมนต์ของฟังก์ชันนั้น ตัวอย่างเช่นถ้าสตริงอินพุตเป็นHelloดังนั้นขั้นตอนแรกจะเป็น: H(ello) จากนั้นทำซ้ำขั้นตอนเดียวกันนี้สำหรับทุกสตริงย่อย ดังนั้นเราจึงได้รับ: H(ello) H(e(llo)) H(e(l(lo))) H(e(l(l(o)))) งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ "ฟังก์ชั่นรัง" สตริง ตัวอย่างเช่นถ้าสตริงอินพุตเป็นHello world!ดังนั้นคุณควรส่งออก: H(e(l(l(o( (w(o(r(l(d(!))))))))))) อินพุตจะมีASCII ที่พิมพ์ได้เท่านั้นและคุณสามารถรับอินพุตและเอาต์พุตในรูปแบบที่เหมาะสม ตัวอย่างเช่น STDIN / STDOUT อาร์กิวเมนต์ของฟังก์ชันและค่าส่งคืนการอ่านและการเขียนไปยังไฟล์ ฯลฯ เพื่อความเรียบง่ายคุณอาจสมมติว่าอินพุตจะไม่มีวงเล็บและจะไม่ว่างเปล่า Input: Nest a string Output: N(e(s(t( (a( (s(t(r(i(n(g)))))))))))) Input: foobar Output: f(o(o(b(a(r))))) Input: 1234567890 Output: 1(2(3(4(5(6(7(8(9(0))))))))) Input: code-golf Output: c(o(d(e(-(g(o(l(f)))))))) Input: …

30
สร้าง“ H” จาก“ H” ที่เล็กลง
ท้าทาย สร้างฟังก์ชั่นหรือโปรแกรมที่เมื่อได้รับจำนวนเต็มsizeทำต่อไปนี้: ถ้าsizeเท่ากับ 1 เอาต์พุต H H HHH H H ถ้าsizeมากกว่า 1 เอาต์พุต X X XXX X X โดยที่Xเอาต์พุตของโปรแกรม / ฟังก์ชั่นสำหรับsize - 1 (หากคุณต้องการคุณอาจมีกรณีฐานสอดคล้องกับ0ตราบใดที่คุณระบุในคำตอบของคุณ) รูปแบบผลลัพธ์ใด ๆ ต่อไปนี้เป็นที่ยอมรับแล้วแต่จำนวนใดจะสะดวกกว่าสำหรับคุณ: สตริงของโครงสร้างที่ต้องการพร้อมอักขระสองตัวที่แตกต่างกันซึ่งสอดคล้องกับHและspace อาร์เรย์สองมิติพร้อมโครงสร้างที่ต้องการโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อาร์เรย์ / รายการสตริงที่มีหนึ่งบรรทัดของเอาต์พุตในแต่ละสตริงโดยมีค่าแตกต่างกันสองค่าที่สอดคล้องกับHและspace อนุญาตให้มีช่องว่างนำหน้าตราบใดที่มีช่องว่างนำหน้าจำนวนหนึ่งคงที่ในแต่ละบรรทัด อักขระเอาต์พุตที่แตกต่างกันสองตัวสามารถขึ้นอยู่กับสิ่งที่คุณเลือกตราบใดที่อักขระเหล่านั้นแตกต่างกัน ระบุรูปแบบผลลัพธ์ที่โค้ดของคุณส่งคืน กรณีทดสอบ 1 H H HHH H H 2 H H H H HHH HHH H …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

30
วงเล็บถูกจับคู่อย่างสมบูรณ์หรือไม่
คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่รับสตริงของวงเล็บปีกกาและเอาท์พุทว่าสตริงนั้นตรงกันหรือไม่ โปรแกรมของคุณควรพิมพ์truthy หรือ falsyคุ้มค่าและ IO สามารถในรูปแบบที่เหมาะสม กฎและคำจำกัดความ: สำหรับวัตถุประสงค์ของการท้าทายนี้เป็น "วงเล็บ" ใด ๆ ()[]{}<>ของตัวละครเหล่านี้: เครื่องหมายวงเล็บคู่หนึ่งถือว่าเป็น "จับคู่" หากวงเล็บเปิดและปิดอยู่ในลำดับที่ถูกต้องและไม่มีอักขระอยู่ภายในเช่น () []{} หรือถ้าทุกองค์ประกอบย่อยภายในนั้นตรงกัน [()()()()] {<[]>} (()()) องค์ประกอบย่อยยังสามารถซ้อนกันหลายชั้นลึก [(){<><>[()]}<>()] <[{((()))}]> สตริงถือเป็น "จับคู่อย่างสมบูรณ์" ถ้าหาก: ตัวละครทุกตัวจะเป็นตัวยึด วงเล็บแต่ละคู่มีวงเล็บเปิดและปิดที่ถูกต้องและในลำดับที่ถูกต้องและ วงเล็บแต่ละอันถูกจับคู่ คุณอาจสันนิษฐานว่าอินพุตจะมีASCII ที่พิมพ์ได้เท่านั้น ทดสอบ IO นี่คืออินพุตบางส่วนที่ควรคืนค่าความจริง: () [](){}<> (((()))) ({[<>]}) [{()<>()}[]] [([]{})<{[()<()>]}()>{}] และนี่คือผลลัพธ์ที่ควรคืนค่าที่เป็นเท็จ: ( Has no closing ')' }{ Wrong order …

19
Pac-Man สามารถกินสตริงนี้ได้หรือไม่?
ในเกมอาร์เคดของ Pac-Man จะกิน pac-dot อย่างไรก็ตามในการท้าทายนี้เขารู้สึกหิวสำหรับตัวอักษรและตัวเลขและเครื่องหมายวรรคตอนในสตริง งานของคุณคือการสร้างฟังก์ชั่นที่ดึงสตริงของ Pac-Man ประเมินว่าเขาสามารถกินได้หรือไม่และส่งคืนสตริงด้วยตำแหน่งของ Pac-Man ในนั้น Pac-Man ( <) กินอักขระจากซ้ายไปขวาปล่อยขีดเส้นใต้หรือช่องว่างสำหรับอักขระแต่ละตัวขณะที่เขาไปและเป้าหมายของเขาคือการได้รับจากตำแหน่งแรก -1 ถึงตำแหน่งสุดท้าย + 1: 1. <Pac 2. _<ac 3. __<c 4. ___< อย่างไรก็ตามผีศัตรูธรรมชาติของแพค - แมนจะหยุดเขาหากเขาพบตัวอักษรหนึ่งตัวในคำว่า "GHOST" (ไม่ต้องตรงตามตัวพิมพ์ใหญ่ - เล็ก) ฟังก์ชั่นของคุณควรคืนสตริงด้วยตำแหน่งของ Pac-Man ในขณะที่เขาพบghostตัวละคร: 1. <No! 2. _<o! สิ่งเดียวที่สามารถเอาชนะผีได้คือเม็ดพลังงาน หาก Pac-Man ถึงตัวอักษรในคำว่า "PELLET" (ไม่ต้องตรงตามตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ก่อนที่จะมาหาผีเขาจะกินผีและเคลื่อนไหวต่อไปและเม็ดนั้นจะหมดไป เม็ดพลังงานสามารถสแต็ค (เช่นในppggทั้งสองผีจะถูกกิน) Tตัวละครอยู่ในฐานะเป็นทั้งผีและเม็ดจึงสามารถละเลย …

30
สร้างเมทริกซ์เอกลักษณ์
ความท้าทายนั้นง่ายมาก กำหนดอินพุตจำนวนเต็มnส่งออกn x nเมทริกซ์เอกลักษณ์ เมทริกซ์เอกลักษณ์เป็นข้อมูลที่มีการ1ขยายจากด้านบนซ้ายลงไปด้านล่างขวา คุณจะเขียนโปรแกรมหรือฟังก์ชั่นที่จะส่งกลับหรือแสดงเมทริกซ์เอกลักษณ์ที่คุณสร้างขึ้น ผลลัพธ์ของคุณอาจเป็นอาร์เรย์ 2 มิติหรือตัวเลขคั่นด้วยช่องว่าง / แท็บและบรรทัดใหม่ ตัวอย่างอินพุทและเอาท์พุท 1: [[1]] 2: [[1, 0], [0, 1]] 3: [[1, 0, 0], [0, 1, 0], [0, 0, 1]] 4: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]] 5: [[1, 0, 0, …

4
ระบุโปรแกรม Brainf ** k ที่ถูกต้อง
Golunar / Unaryเป็นวิธีการเข้ารหัสโปรแกรมBrainfuck ที่ถูกต้องทั้งหมดแต่ก็ไม่ได้เป็นการแจงนับเนื่องจากตัวเลขที่เป็นธรรมชาติส่วนใหญ่ไม่สอดคล้องกับโปรแกรมที่ถูกต้อง สำหรับจุดประสงค์ของการท้าทายนี้ให้ใช้เทปที่ไม่มีที่สิ้นสุดเป็นทวีคูณและไม่มีความคิดเห็นเช่นโปรแกรม Brainfuck นั้นใช้ได้ถ้าหากมันประกอบไปด้วยตัวละคร<>+-.,[]และวงเล็บซ้ายและขวาเท่านั้น ตัวอย่างเช่นโปรแกรมที่ว่างเปล่า,[+][-]., [>+<[--].]และ+[+[+][+[+]+]+]+.โปรแกรม brainfuck ที่ถูกต้องในขณะที่][และa[]ไม่ได้ งาน เขียนโปรแกรมหรือฟังก์ชั่นที่ยอมรับโปรแกรม Brainfuck ที่ถูกต้องเป็นอินพุตและส่งคืนจำนวนธรรมชาติ ( 1 , 2 , 3 , …) โดยมีข้อ จำกัด ดังต่อไปนี้: ผลลัพธ์ที่สร้างขึ้นจะต้องแตกต่างกันไปสำหรับโปรแกรม Brainfuck ที่ถูกต้องทั้งหมด สำหรับทุกจำนวนธรรมชาติnจะต้องมีโปรแกรม brainfuck ที่ถูกต้องเมื่อมีให้เป็น input สร้างเอาท์พุทn กฎเพิ่มเติม รับโปรแกรม Brainfuck ที่มีขนาด 100 ไบต์หรือน้อยกว่าโปรแกรมหรือฟังก์ชันของคุณจะต้องเสร็จสิ้นภายในหนึ่งนาที ซึ่งหมายความว่าคุณไม่สามารถทำซ้ำในโปรแกรม Brainfuck ที่ถูกต้องทั้งหมดจนกว่าคุณจะตรงกับอินพุต ใช้กฎมาตรฐานของกอล์ฟ

22
ปี่ธรรมชาติ # 0 - ร็อค
เป้าหมาย สร้างโปรแกรม / ฟังก์ชั่นที่รับอินพุตNตรวจสอบว่าNคู่ของจำนวนเต็มแบบสุ่มนั้นค่อนข้างดีและส่งคืนsqrt(6 * N / #coprime)หรือไม่ TL; DR ความท้าทายเหล่านี้เป็นการจำลองอัลกอริธึมที่ต้องการเพียงแค่ธรรมชาติและสมองของคุณ หากคุณต้องการ Pi ในระหว่างการเปิดเผยซอมบี้วิธีการเหล่านี้จะไม่เปลืองกระสุน ! มีอีกแปดความท้าทายที่จะมา ชำระเงินโพสต์แซนด์บ็อกซ์เพื่อให้คำแนะนำ การจำลอง เรากำลังจำลองอะไร ความน่าจะเป็นที่สองจำนวนเต็มแบบสุ่มนั้นค่อนข้างไพเราะ (เช่น coprime หรือ gcd == 1) 6/Pi/Piดังนั้นวิธีธรรมชาติในการคำนวณ Pi ก็คือการตักก้อนหินขึ้นสองถัง (หรือกำมือ) นับพวกเขา; ดูว่าgcdของพวกเขาคือ 1; ทำซ้ำ หลังจากที่ทำเช่นนี้คู่หลายครั้งจะมีแนวโน้มต่อsqrt(6.0 * total / num_coprimes) Piหากการคำนวณสแควร์รูทในโลกหลังวิกฤติทำให้คุณกังวลไม่ต้องกังวล! มีวิธีการของนิวตันสำหรับสิ่งนั้น เราจำลองสิ่งนี้ได้อย่างไร รับอินพุต N ทำตามNเวลาต่อไปนี้: สร้างเลขจำนวนเต็มบวกแบบสุ่มiและj กับ 1 <= i …
39 code-golf  math  random  pi  approximation  popularity-contest  code-golf  sequence  number-theory  binary  coding-theory  code-golf  math  3d  code-golf  code-golf  math  number  code-golf  kolmogorov-complexity  code-golf  ascii-art  graphical-output  binary-tree  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation  hexadecimal  code-golf  math  number  set-theory  code-golf  math  arithmetic  number-theory  integer  code-golf  string  kolmogorov-complexity  code-golf  math  sequence  arithmetic  decision-problem  code-golf  code-golf  ascii-art  code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

9
ตัวตรวจสอบ“ สะดวก palindrome”
หากคุณเคยพยายามที่จะเขียนรหัส palindromic มาก่อนคุณจะรู้ว่ามีแนวโน้มที่จะได้รับในวงเล็บของคุณ ()()ไม่ใช่ palindrome แม้ว่ามันดูเหมือนว่ามันควรจะเป็นในขณะที่())(และ()(มีทั้ง palindromic และทั้งสองมองเป็นใบ้ มันจะไม่สะดวกถ้ามันเป็นอย่างอื่น? สตริงเป็นpalindromic สะดวกถ้ามันเท่ากับสตริงที่ได้รับเมื่อ reverse มีวงเล็บ ( ()), วงเล็บ ( []) และวงเล็บปีกกา ( {}) ทั้งหมด ไม่มีตัวละครอื่นที่พิเศษและต้องการการพลิก ( <>บางครั้งมีการจับคู่ แต่มักจะไม่ถูกปล่อยออกไป) งานของคุณคือการเขียนในภาษาของคุณโปรแกรม (รับอินพุตบน STDIN) หรือฟังก์ชั่น (รับอาร์กิวเมนต์สตริงเดี่ยว) ซึ่ง (a) ให้ค่าจริงที่สอดคล้องกัน * เมื่ออาร์กิวเมนต์มีความสะดวก Palindromic และเท็จที่สอดคล้องกัน ค่าเป็นอย่างอื่นและ (b) เป็นตัวเองอย่างสะดวก palindromic ตัวอย่างเช่นอินพุตต่อไปนี้เป็นแบบ palindromic: racecar (a)(bb)(a) void main(int argc, *char[] …

3
แก้ลูกบาศก์ของรูบิค
เขียนโปรแกรมที่สั้นที่สุดที่แก้คิวบ์ของรูบิค (3 * 3 * 3) ภายในระยะเวลาที่เหมาะสมและเคลื่อนไหวได้ (พูดได้สูงสุด 5 วินาทีในเครื่องของคุณและน้อยกว่า 1,000 ครั้ง) อินพุตอยู่ในรูปแบบ: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (อินพุตเฉพาะนี้แสดงถึงคิวบ์ที่แก้ไขแล้ว) 12 สตริงอักขระ 2 ตัวแรกคือขอบในตำแหน่ง UF, UR, ... BL (U = ขึ้น, F = ด้านหน้า, R = …

21
(A [l (t [e (r) n] e) s) t)) สตริง!
Alternestingคือการรับสตริงและซ้อนในวงเล็บ นี่คือวิธีที่คุณสลับสตริง สำหรับสตริงที่มีความยาวNให้ใช้อักขระNกึ่งกลางและล้อมรอบไว้ในวงเล็บ ดังนั้นถ้าสตริงของเราคือHello world!(12 ตัวอักษร) เราจะจบลงด้วย (Hello world!) จากนั้นนำn-2อักขระกึ่งกลางที่เหลือและล้อมรอบพวกเขาในวงเล็บเหลี่ยม ในกรณีนี้มีอักขระกลาง 10 ตัวello worldดังนั้นการทำซ้ำครั้งถัดไปคือ: (H[ello world]!) ตราบใดที่มีมากกว่าตัวละครสองตัวที่เหลืออยู่ในช่วงกลางของสตริงทำซ้ำขั้นตอนที่สองที่ผ่านมาสลับกันระหว่างและ() []นี่คือขั้นตอนสุดท้าย: (Hello world!) (H[ello world]!) (H[e(llo worl)d]!) (H[e(l[l(o[ w]o)r]l)d]!) เนื่องจากมีอักขระเพียงสองตัวที่เหลืออยู่ตรงกลางในการทำซ้ำครั้งล่าสุดเราจึงหยุด สตริงสุดท้ายของเราคือ (H[e(l[l(o[ w]o)r]l)d]!) สังเกตว่ามีอักขระสองตัวในวงเล็บตรงกลางได้อย่างไร สิ่งนี้จะเกิดขึ้นเมื่ออินพุตมีความยาวเท่ากัน หากอินพุตเป็นความยาวคี่ (ตัวอย่างเช่นHello, world!เมื่อเพิ่มเครื่องหมายจุลภาค) เราจะมีอักขระเพียงตัวเดียวที่อยู่ตรงกลาง: (H[e(l[l(o[,( )w]o)r]l)d]!) สำหรับความท้าทายในวันนี้คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่รับสตริงเป็นอินพุตและสลับมันเพื่อแสดงผลสตริงใหม่ คุณสามารถนำเข้าและส่งออกในรูปแบบที่เหมาะสมตามที่คุณต้องการ ข้อมูลที่ป้อนจะมีความยาวอย่างน้อยหนึ่งตัวอักษรและจะมีเฉพาะ ASCII ที่พิมพ์ได้ นอกจากนี้คุณยังสามารถสมมติว่าอินพุตจะไม่มีวงเล็บหรือวงเล็บเหลี่ยม สำหรับภาษาดั้งเดิมสิ่งนี้ไม่ควรมีมากเกินไป แต่มันอาจทำให้ภาษาลึกลับบางอย่างง่ายขึ้น ตามปกตินี่คือการแข่งขันรหัส - กอล์ฟดังนั้นพยายามทำให้คำตอบที่สั้นที่สุดในภาษาที่คุณเลือก มีความสุข! …

30
หมายเลขคาตาลัน
หมายเลขคาตาลัน ( OEIS ) มีลำดับของตัวเลขธรรมชาติมักจะปรากฏใน combinatorics หมายเลขคาตาลันที่ n คือจำนวนคำ Dyck (สตริงที่สมดุลของวงเล็บหรือวงเล็บเช่น[[][]]; กำหนดอย่างเป็นทางการเป็นสตริงโดยใช้อักขระสองตัวคือ a และ b เช่นว่าสตริงย่อยใด ๆ ที่เริ่มต้นจากจุดเริ่มต้นมีจำนวนอักขระมากกว่าหรือเท่ากับตัวเลข อักขระ b และสตริงทั้งหมดมีจำนวนอักขระ a และ b เท่ากัน) ที่มีความยาว 2n หมายเลขคาตาลันที่ n (สำหรับ n> = 0) ถูกกำหนดอย่างชัดเจนด้วยเช่น: เริ่มต้นจาก n = 0 หมายเลข 20 คาตาลันแรกคือ: 1, 1, 2, 5, 14, 42, 132, 429, 1430, …

9
ทำให้เป็นสตริง
สตริง snakified มีลักษณะเช่นนี้: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt งานของคุณ รับสตริงsและขนาดnจากนั้นเอาต์พุตสตริงที่อ่านค่าได้ ปัจจัยการผลิตThisIsAnExampleOfaSnakifiedStringและ3จะผลิตตัวอย่างข้างต้น ข้อมูลจำเพาะ s จะมีอักขระ ASCII ระหว่างรหัสจุด 33 ถึง 126 เท่านั้น (ไม่มีการเว้นวรรคหรือบรรทัดใหม่) s จะมีความยาวระหว่าง 1 ถึง 100 อักขระ nเป็นจำนวนเต็มแทนขนาดของเซ็กเมนต์สตริงเอาต์พุตแต่ละตัว อักขระแต่ละบรรทัด (ขึ้น / ลงหรือซ้าย / ขวา) ที่ประกอบขึ้นเป็นเส้นโค้งใน "งู" มีความnยาวอักขระ ดูกรณีทดสอบสำหรับตัวอย่าง …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

5
ทำฉากสี่เหลี่ยม
โปรแกรมเมอร์ทุกคนรู้ว่าวงเล็บ[]{}()<>สนุกมาก เพื่อทำให้ความสนุกทวีความรุนแรงมากขึ้นกลุ่มของวงเล็บสานแบบสานสามารถเปลี่ยนเป็นไดอะแกรมน่ารักและคลุมเครือ [{][<(]})>(())สมมติว่าคุณมีสตริงที่มีวงเล็บสมดุลเช่น ขั้นตอนที่หนึ่งคือการหมุนสตริง 45 องศาตามเข็มนาฬิกา (ใน Mathematica สามารถทำได้เกือบRotate[ur_string,-pi/4]) นี่คือผลลัพธ์ของขั้นตอนแรก: [ { ] [ < ( ] } ) > ( ( ) ) ถัดไปเพิ่มช่องว่างในแนวทแยงระหว่างตัวละครแต่ละตัว [ { ] [ < ( ] } ) > ( ( ) ) จากนั้นเริ่มต้นด้วยวงเล็บปีกกาซ้ายสุดและวาดสี่เหลี่ยมระหว่างมันและคู่ของมันในอาชญากรรม +---+ | | | { | | | +---+ [ …

14
{เบอร์หยิก};
ในการเขียนโปรแกรมภาษาลึกลับหยิกโปรแกรม แต่เพียงการประกอบวงเล็บปีกกาและอัฒภาค{} ;แม้ชุดเครื่องมือต่ำต้อยนี้ลอนมีตัวอักษรที่สามารถแสดงจำนวนเต็มที่ไม่ใช่ค่าลบใด ๆ รูปแบบนั้นค่อนข้างยากสำหรับผู้ที่ไม่ได้ฝึกอ่านดังนั้นให้เขียนโค้ดเพื่อทำการแปลงให้เรา รูปแบบของตัวเลข ตัวเลขลอนมีโครงสร้างตามกฎต่อไปนี้: การเพิ่มเซมิโคลอนเพิ่มหนึ่งหมายเลข จำนวนที่อยู่ในเครื่องหมายปีกกาจะถูกคูณด้วยสี่ กลุ่มที่มีรั้งเป็นลอนอาจซ้อนกัน แต่ไม่ได้ต่อกัน เครื่องมือจัดฟันต้องตรงกันอย่างถูกต้อง เครื่องหมายอัฒภาคนอกชุดเครื่องหมายปีกกาจะต้องมาหลังจากนั้นไม่ใช่มาก่อน เพื่อหลีกเลี่ยงความคลุมเครือในการแยกวิเคราะห์ตัวเลขต้องเริ่มต้นด้วยวงเล็บปีกกาเสมอ ตัวอย่างบางส่วน: {;;} 2*4 = 8 {{;};}; (1*4+1)*4+1 = 21 {};;; 0*4+3 = 3 (โปรดทราบว่ากฎ 5 หมายถึงตัวเลข 0 ถึง 3 จะต้องเริ่มต้นด้วยวงเล็บปีกกาว่างเปล่าคู่) และตัวอย่างที่ไม่ถูกต้อง: {{;}{;;}} Curly brace groups side-by-side, not nested {;}} Unmatched brace {;{;}} Semicolon before curly-brace group …

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