การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

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 

2
ระบบแต้มต่อ PPCG
ดังที่เราทุกคนทราบกันดีว่าเมตา กำลัง ล้นไป ด้วย ข้อร้องเรียน เกี่ยวกับการ ให้คะแนน รหัสกอล์ฟ ระหว่าง ภาษา (ใช่แต่ละคำนั้นเป็นลิงค์แยกต่างหากและสิ่งเหล่านี้อาจเป็นเพียงส่วนเล็ก ๆ ของภูเขาน้ำแข็ง) ด้วยความหึงหวงที่มีต่อผู้ที่ใส่ใจในการค้นหาเอกสาร Pyth จริง ๆ ฉันคิดว่ามันคงจะดีถ้ามีความท้าทายที่สร้างสรรค์ขึ้นมาอีกเล็กน้อยซึ่งเหมาะกับเว็บไซต์ที่เชี่ยวชาญเรื่องการเขียนโค้ด ความท้าทายค่อนข้างตรงไปตรงมา ในฐานะที่เป็นอินพุตเรามีชื่อภาษาและนับไบต์ คุณสามารถใช้สิ่งเหล่านั้นเป็นฟังก์ชั่นอินพุตstdinหรือวิธีป้อนข้อมูลเริ่มต้นเป็นภาษา ในฐานะที่เป็นเอาท์พุทเรามีการนับจำนวนไบต์ที่ถูกต้องนั่นคือคะแนนของคุณเมื่อใช้แฮนดิแคป ตามลำดับผลลัพธ์ควรเป็นฟังก์ชันเอาต์พุตstdoutหรือวิธีการแสดงผลภาษาเริ่มต้นของคุณ ผลลัพธ์จะถูกปัดเศษเป็นจำนวนเต็มเพราะเราชอบเน็คไทเกอร์ ด้วยการใช้แบบสอบถามที่น่าเกลียดที่สุดที่ถูกแฮ็กเข้าด้วยกัน ( ลิงก์ - อย่าลังเลที่จะทำความสะอาด) ฉันจัดการสร้างชุดข้อมูล (zip ด้วย. xslx, .ods และ. csv)ที่มีภาพรวมของคำตอบทั้งหมดสำหรับคำถามเกี่ยวกับกอล์ฟ . คุณสามารถใช้ไฟล์นี้ (และสมมติว่ามันจะใช้ได้กับโปรแกรมของคุณเช่นมันอยู่ในโฟลเดอร์เดียวกัน) หรือแปลงไฟล์นี้เป็นรูปแบบเดิมอีก ( .xls, .mat, .savฯลฯ - แต่มันอาจมีข้อมูลเดิม!) ชื่อควรจะยังคงอยู่QueryResults.extกับ extส่วนขยายของตัวเลือก ตอนนี้สำหรับเฉพาะ สำหรับแต่ละภาษาจะมีพารามิเตอร์Boilerplate …

30
เลขศูนย์ในตอนท้ายของแฟคทอเรียล
เขียนโปรแกรมหรือฟังก์ชั่นที่ค้นหาจำนวนศูนย์ในตอนท้ายของn!ฐาน 10 ซึ่งnเป็นหมายเลขอินพุต (ในรูปแบบที่ต้องการ) มันสามารถสันนิษฐานได้ว่าnเป็นจำนวนเต็มบวกซึ่งหมายความว่าn!เป็นจำนวนเต็มด้วย n!มีเลขหลังจุดทศนิยมในไม่มี นอกจากนี้ก็อาจจะคิดว่าการเขียนโปรแกรมภาษาของคุณสามารถจัดการค่าของและnn! กรณีทดสอบ 1 ==> 0 5 ==> 1 100 ==> 24 666 ==> 165 2016 ==> 502 1234567891011121314151617181920 ==> 308641972752780328537904295461 นี่คือรหัสกอล์ฟ ใช้กฎมาตรฐาน รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ การส่ง เพื่อให้แน่ใจว่าคำตอบของคุณปรากฏขึ้นโปรดเริ่มคำตอบด้วยหัวข้อโดยใช้เทมเพลต Markdown ต่อไปนี้: # Language Name, N bytes ที่Nมีขนาดของส่งของคุณ หากคุณปรับปรุงคะแนนของคุณคุณสามารถเก็บคะแนนเก่าไว้ในพาดหัวโดยการตีพวกเขาผ่าน ตัวอย่างเช่น # Ruby, <s>104</s> <s>101</s> 96 bytes หากคุณต้องการรวมหลายตัวเลขไว้ในส่วนหัวของคุณ (เช่นเนื่องจากคะแนนของคุณคือผลรวมของไฟล์สองไฟล์หรือคุณต้องการแสดงรายการบทลงโทษการตั้งค่าสถานะของล่ามแยกต่างหาก) ตรวจสอบให้แน่ใจว่าคะแนนจริงเป็นตัวเลขสุดท้ายในส่วนหัว: …

30
จัดการถังขยะดังนั้น
มันค่อนข้างเป็นประเพณีใน PPCG ที่ผู้ใช้บางคนเปลี่ยนชื่อของพวกเขาชั่วคราวด้วยแอนนาแกรม (ชื่อใหม่ที่เกิดขึ้นจากการเรียงลำดับตัวอักษรเก่า) บางครั้งมันก็ยากที่จะค้นหาว่าใครเป็นใคร ฉันสามารถใช้โปรแกรมหรือฟังก์ชั่นเพื่อบอกได้ว่าวลีสองวลีเป็นแอนนาแกรมของกันและกัน ความท้าทาย โปรแกรมหรือฟังก์ชั่นควรใช้สองสายและสร้างผลลัพธ์ที่เป็นความจริงหากพวกเขาเป็นภาพของกันและกันและเป็นอย่างอื่นเท็จ กฎระเบียบ ข้อมูลที่ป้อนจะมีเฉพาะตัวอักษร (ASCII 65 ถึง 90 และ 97 ถึง 122) ตัวเลข (ASCII 48 ถึง 57) หรือเว้นวรรค (ASCII 32) ความสัมพันธ์แอนนาแกรมนั้นขึ้นอยู่กับแต่ละกรณี ดังนั้น "แขน" และ "RAM" จึงเป็นแบบแอนนาแกรม ช่องว่างไม่นับเช่นกัน ดังนั้น "คีย์บอร์ด" และ "Barked Yo" จึงเป็นแอนนาแกรม อนุญาตบิวอินได้ทั้งหมด รูปแบบอินพุตมีความยืดหยุ่น (สองสตริง, อาร์เรย์ของสองสตริง, สตริงที่มีทั้งวลีที่มีตัวคั่นที่เหมาะสม ... ) รหัสกอล์ฟ ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ กรณีทดสอบ Truthy: …

30
กลวงออกอาร์เรย์
งาน ความท้าทายนี้ง่ายมาก ข้อมูลที่คุณป้อนเป็นจำนวนเต็มอาร์เรย์ 2 มิติขนาดอย่างน้อย 1 × 1 มันสามารถนำมาในรูปแบบที่เหมาะสม ส่งออกของคุณจะต้องเข้าแถว แต่มีรายการทั้งหมดไม่ได้0อยู่ในแถวหรือนามสกุลหรือชุดคอลัมน์ ต้องอยู่ในรูปแบบเดียวกับอินพุต ตัวอย่างเช่นถ้าอาร์เรย์เป็น 67 4 -8 5 13 9 13 42 4 -7 1 1 3 -9 29 16 99 8 77 0 ดังนั้นผลลัพธ์ที่ถูกต้องคือ 67 4 -8 5 13 9 0 0 0 -7 1 0 0 0 29 16 …

3
จดหมายย้าย!
รับสายคุณต้องย้ายตัวอักษรแต่ละตัว (เริ่มต้นจากตัวอักษรตัวแรก) ตามตำแหน่งในตัวอักษร หากคุณถึงจุดสิ้นสุดของสตริงคุณต้องล้อมรอบ ไม่จำเป็นต้องย้ายตัวอักษรที่ไม่ใช่ ตัวอย่าง: Dog Dเป็นตัวอักษรตัวที่สี่ในตัวอักษรดังนั้นเราจึงย้ายสี่จุดไปทางขวา oDgหลังจากตัดรอบที่มีการเปลี่ยนแปลงสตริง oคือตัวอักษรที่ 15 (15 mod 3) = 0 ดังนั้นมันจะไม่เคลื่อนที่ gคืออักษรที่ 7 - (7 สมัย 3) = 1 goDดังนั้นสตริงจะกลายเป็น hi*bye hคือตัวอักษรที่ 8 เลื่อน 8 จุด - hi*bye=>i*hbye iคือตัวอักษรที่ 9 ย้าย 9 จุด - i*hbye=>*hbiye bคือตัวอักษรตัวที่ 2 ให้ย้าย 2 สปอต - *hbiye=>*hiybe yคือตัวอักษรที่ 25 …
35 code-golf  string 

28
ค้นหาตัวเลขในค่าคงที่ Champernowne
บทนำ ในฐาน 10 ค่าคงที่ของ Champernowne ถูกกำหนดโดยการเชื่อมโยงการแทนค่าของจำนวนเต็มต่อเนื่อง ในฐาน 10: 0.1234567891011121314151617...และต่อ ๆ ไป คุณจะเห็นว่าการปรากฏตัวครั้งแรกของการ15เริ่มต้นที่20thทศนิยม: Position 0000000001111111111222222222233333333334444444444555555555566666666 1234567890123456789012345678901234567890123456789012345678901234567 ^ 0.1234567891011121314151617181920212223242526272829303132333435363738... ^^ 15 = position 20 การปรากฏตัวครั้งแรกของการ45เริ่มต้นที่4thทศนิยม: Position 0000000001111111111222222222233333333334444444444555555555566666666 1234567890123456789012345678901234567890123456789012345678901234567 ^ 0.1234567891011121314151617181920212223242526272829303132333435363738... ^^ 45 = position 4 ดังนั้นงานง่าย ให้เป็นจำนวนเต็มไม่ลบส่งออกตำแหน่งของจำนวนเต็มในค่าคงที่ Champernowne กฎระเบียบ คุณอาจมีฟังก์ชั่นหรือโปรแกรม นี่คือโค้ดกอล์ฟดังนั้นการส่งที่มีจำนวนไบต์น้อยที่สุดจะชนะ! กรณีทดสอบ Input: 20 Output: 30 Input: 333 Output: 56 Input: 0 …
35 code-golf  math  number 

30
สร้างลำดับ Abacaba
ความท้าทายนี้เกี่ยวกับการพิมพ์ลำดับ abacaba ของความลึกที่เฉพาะเจาะจง นี่คือไดอะแกรมของ 5 ลำดับแรก ( a(N)เป็นลำดับ abacaba ของความลึก N, บน / ล่างเป็นเพียงเพื่อแสดงรูปแบบนี้ไม่จำเป็นในผลลัพธ์ของโปรแกรมของคุณ): a(0) = A a(1) = aBa a(2) = abaCaba a(3) = abacabaDabacaba a(4) = abacabadabacabaEabacabadabacaba ... a(25) = abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabajabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaia... อย่างที่คุณสามารถบอกได้ลำดับของ abacaba n'th เป็นลำดับสุดท้ายที่มีตัวอักษร n'th และเพิ่มเข้าไปอีกครั้ง ( a(n) = a(n - 1) + letter(n) + a(n - …

9
เทศกาลไส้กรอกที่แท้จริง
ตั้งแต่สุดสัปดาห์แรกของเดือนตุลาคมใกล้เข้ามาเรามี Oktoberfest ของเราเอง! พื้นหลัง คุณและโปรแกรมเมอร์คนอื่น ๆ ได้รับการว่าจ้างจากพวกไส้กรอกท้องถิ่นในมิวนิคประเทศเยอรมนี พวกไส้กรอกให้ Oktoberfest กับไส้กรอกทั้งหมดที่ Volksfest ต้องการ คุณสามารถได้ยินเจ้านายของคุณพูดกับพนักงานคนอื่นว่าทำไมคุณและคนอื่น ๆ ถึงได้รับการว่าจ้างโดยไม่มีประสบการณ์เกี่ยวกับไส้กรอกมาก่อน คุณรู้ว่าคุณได้รับการว่าจ้างจากทักษะการเขียนโปรแกรมที่ไร้ที่ติ - และหัวหน้าของคุณต้องการให้คุณเขียนรหัสเครื่องวิเคราะห์ไส้กรอก ปีนี้พวกไส้กรอกได้ตัดสินใจที่จะเพิ่มความหลากหลายของไส้กรอกที่ Oktoberfest - แต่พวกเขาไม่รู้ว่าพวกเขานำเข้ามามากแค่ไหน ท้าทาย คุณต้องช่วยหัวหน้างานของคุณให้ทราบว่าไส้กรอกประเภทใดที่พวกเขานำเข้ามาจริง คุณจะต้องตั้งโปรแกรมเครื่องวิเคราะห์ไส้กรอกซึ่งจะแสดงชนิดและจำนวนของไส้กรอกทุกชนิดที่ไส้กรอกนำเข้า stdinเจ้านายของคุณได้ซื้อไดรฟ์ฟลอปปี้พิเศษสำหรับโอกาสนี้ซึ่งได้รับไส้กรอกท่อมัน อินพุต จำนวนของไส้กรอกบนstdinแต่ละไส้กรอกคั่นด้วยช่องว่างหนึ่ง ไส้กรอกมีให้ในรูปแบบต่อไปนี้: ปริญคอร์ (P) ¤ | | | | | | ¤ Salchichón (S) l | | | | | | | | …
35 code-golf 

10
ย่อหมายเลขหน้าเหล่านี้!
ข้อจำกัดความรับผิดชอบ: แม้ว่าฉันจะอยู่บนไซต์นี้เพื่อความบันเทิงสักครู่ แต่ตอนนี้เป็นคำถามแรกของฉันดังนั้นโปรดให้อภัยข้อผิดพลาดเล็กน้อย พื้นหลัง เมื่อทำการบ้านกับเราอาจารย์ของฉันน่ารำคาญจริง ๆ และเขียนปัญหาทั้งหมดที่เราต้องทำแยกกัน เช่นนี้ฉันต้องใช้เวลาตลอดไปในการคัดลอกปัญหาที่ฉันต้องทำ ฉันคิดว่าจะทำให้ชีวิตของฉันง่ายขึ้นฉันจะส่งโปรแกรมที่ทำให้รายการปัญหาใช้พื้นที่น้อยลง ขณะที่เขียนรายการหน้าหรือหมายเลขปัญหาเราใช้เส้นประเพื่อแสดงช่วง ยกตัวอย่างเช่นจะกลายเป็น19-21 19, 20, 21ถ้ามีช่องว่างในระหว่างสองช่วงคั่นด้วยเครื่องหมายจุลภาคมีการใช้จะกลายเป็น19-21, 27-31 ตอนนี้คุณอาจกำลังคิดว่า: "นี่มันช่างน่ารำคาญ" ในความเป็นจริงนี้ได้รับการตอบแล้วที่นี่และที่นี่19, 20, 21, 27, 28, 29, 30, 31 อย่างไรก็ตามมีการจับเป็น หากเรามีช่วงที่มีตัวเลขที่ต่อเนื่องกันจำนวนหลักซ้ำสามารถถูกปล่อยออกมาได้ ตัวอย่างเช่น: 15, 16, 17กลายเป็น15-7และจะกลายเป็น107, 108, 109 107-9สำหรับโบนัสหากตัวเลขหลักสุดท้ายที่ต่อเนื่องกันคือ 1 ที่มากกว่าและตัวเลขสุดท้ายของขีด จำกัด บนคือน้อยกว่าหรือเท่ากับของต่ำกว่าคุณสามารถละเว้นได้ดังต่อไปนี้ (ขออภัยถ้าฟังดูสับสน; . 109-113กลาย109-3เป็นเป็นตัวเลขสุดท้ายที่ต่ำกว่าหมายถึงการเพิ่มสถานที่ 10s ท้าทาย โปรแกรมของคุณควรบันทึกรายการจำนวนเต็มผ่านอินพุต (อะไรก็ได้ที่เป็นมาตรฐานสำหรับภาษาของคุณหรือฟังก์ชั่น) คุณสามารถตัดสินใจได้ว่ารายการนี้คั่นด้วยเครื่องหมายจุลภาคคั่นด้วยช่องว่างหรือเป็นรายการ / อาร์เรย์จริง เอาท์พุทวิธีที่สั้นที่สุด (เรียงลำดับแรกตามจำนวนของช่วงจากนั้นผลรวมของตัวละครรวมอยู่ในช่วง) …

13
เรียงพิกเซล
งานของคุณคือการสร้างโปรแกรมที่จะให้ภาพอินพุตสร้างภาพเอาต์พุตที่มีขนาดเท่ากันโดยที่พิกเซลทั้งหมดจะถูกจัดเรียงตามค่าเลขฐานสิบหก โปรแกรมของคุณอาจ: จัดเรียงพิกเซลจากซ้ายไปขวาจากนั้นเลื่อนลงหรือเรียงลำดับแรกลงในคอลัมน์แล้วขวา ไม่ว่าในกรณีใดพิกเซลด้านบนซ้ายจะเล็กที่สุดและด้านล่างขวานั้นใหญ่ที่สุด ใช้ความโปร่งใส แต่ไม่จำเป็น จัดเรียงตาม RGB แต่คุณสามารถใช้ CMY หรือรูปแบบอื่น ๆ ที่มีค่าอย่างน้อย 3 ค่า คุณสามารถเลือกค่าที่จะเรียงลำดับ (HSV อาจให้ภาพที่ดี) ใช้รูปแบบภาพที่รู้จักกันดีซึ่งคอมพิวเตอร์ส่วนใหญ่สามารถเปิดได้ กฎ: เอาต์พุตต้องถูกเขียนไปยังดิสก์หรือสามารถไพพ์ไปยังไฟล์ได้ อินพุตถูกกำหนดเป็นอาร์กิวเมนต์ commandline ในรูปแบบของพา ธ ที่สัมพันธ์กับรูปภาพหรือไพพ์จาก commandline นี่คือรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

30
สร้างหมายเลขวันจันทร์
ตัวเลขวันจันทร์ตามที่กำหนดโดยGamowในคำถามนี้ในเรื่อง Puzzling เป็นจำนวนเต็มบวกN ที่มีคุณสมบัติสามประการต่อไปนี้: การแทนค่าทศนิยมของNไม่มีตัวเลข 0 การแทนค่าทศนิยมของNไม่มีตัวเลขสองหลักใด ๆ Nหารด้วยทุกหลักDที่เกิดขึ้นในการแทนทศนิยม หมายเหตุว่าสิ่งเหล่านี้เป็นที่รู้จักกันอีกทางเลือกหนึ่งใน OEIS เป็นตัวเลขลินช์เบลล์ ตัวอย่าง: 15เป็นจำนวนวันจันทร์เป็นมันหารทั้งสองข้าง1และ5และความพึงพอใจอีกสองเงื่อนไข 166ไม่ได้เพราะมันไม่หารด้วย จำนวน22ไม่ได้เนื่องจากแม้ว่าตรงตามเงื่อนไข 1 และ 3 แต่ไม่ผ่านเงื่อนไข 2 นี่คือรายการของหมายเลข 25 วันจันทร์แรกที่คุณเริ่มต้นใช้งาน (มีทั้งหมด 548): 1 2 3 4 5 6 7 8 9 12 15 24 36 48 124 126 128 132 135 162 168 175 184 216 …

13
ปรากฏการณ์ Will Rogers
ปรากฏการณ์ Will Rogers ที่เรียกว่าอธิบายวิธีการปรับแต่งสถิติโดยเพิ่มค่าเฉลี่ยในสองชุด (หลาย) เมื่อองค์ประกอบหนึ่งถูกย้ายระหว่างสองชุด เป็นตัวอย่างง่ายๆให้พิจารณาทั้งสองชุด A = {1, 2, 3} B = {4, 5, 6} วิธีการทางคณิตศาสตร์ของพวกเขาคือ 2และ5ตามลำดับ หากเราย้าย4ไปที่A: A = {1, 2, 3, 4} B = {5, 6} ตอนนี้ค่าเฉลี่ยอยู่2.5และ5.5ตามลำดับดังนั้นค่าเฉลี่ยทั้งสองจึงเพิ่มขึ้นผ่านการจัดกลุ่มใหม่อย่างง่าย เป็นอีกตัวอย่างหนึ่งที่ต้องพิจารณา A = {3, 4, 5, 6} --> A = {3, 5, 6} B = {2, 3, 4, 5} …

15
บันไดเขียน
เขียนโปรแกรมหรือฟังก์ชั่นที่จะส่งออกสตริงที่กำหนดในรูปแบบของบันไดเขียนแต่ละส่วนของคำที่ขึ้นต้นด้วยสระหนึ่งบรรทัดด้านล่างส่วนก่อนหน้า ตัวอย่างเช่น: Input: Programming Puzzles and Code Golf Output: Pr P C G ogr uzzl and od olf amm es e ing อินพุต สตริงที่มีอะไรนอกจากตัวอักษรและช่องว่าง สตริงสามารถส่งผ่านผ่านSTDINหรือฟังก์ชั่นข้อโต้แย้งหรือสิ่งที่เทียบเท่า ตัวอักษรสามารถเป็นตัวพิมพ์เล็กหรือใหญ่ อินพุตจะถือว่าเป็นไปตามกฎเหล่านั้นเสมอคุณไม่จำเป็นต้องตรวจสอบอินพุตที่ไม่ถูกต้อง เอาท์พุต ทุกครั้งที่สระ (นั่นคือa, e, i, o, uหรือy) จะพบในคำคุณต้องส่งออกส่วนที่เหลือของคำในบรรทัดถัดไป (สระพบรวม) ที่ตำแหน่งแนวนอนที่ถูกต้อง กฎนี้เรียกซ้ำซึ่งหมายความว่าหากมีเสียงสระ n คำในคำนั้นมันจะถูกเขียนบน n + 1 บรรทัด สระควรเขียนที่จุดเริ่มต้นของบรรทัดถัดไปและไม่ควรอยู่ที่จุดสิ้นสุดของบรรทัดก่อนหน้าเมื่อพบหนึ่งบรรทัด แต่ละคำเริ่มต้นในบรรทัดแรกและควรจัดรูปแบบเป็นอิสระจากคำอื่น ๆ คำสองคำคั่นด้วยช่องว่าง หากคำเริ่มต้นด้วยเสียงสระคุณจะต้องเขียนคำนั้นขึ้นต้นด้วยบรรทัดที่สอง กรณีทดสอบ …
35 code-golf  string 

30
มาค้นหาคำกันเถอะ!
ในความท้าทายนี้เราจะสร้างการค้นหาคำที่มีหลายโปรแกรมในภาษาต่างๆ ฉันเริ่มต้นเราด้วยตารางของช่องว่าง 60 x 25 ( ·) ซึ่งบางส่วนจะถูกแทนที่ด้วยอักขระของโปรแกรม Ruby หากต้องการตอบให้เลือกภาษาที่ยังไม่ได้ใช้ ใช้ภาษาที่คุณเลือกเขียนโปรแกรมที่อ่านตัวอักษรโทเค็นบรรทัดหรืออินพุตทั้งหมดจากคอนโซลแล้วพิมพ์ออกมา จากนั้นแทรกโปรแกรมของคุณลงในการค้นหาคำ ตัวอย่างเช่นสมมติว่าคุณเลือกหลาม 3 print(input())สำหรับคำตอบของคุณและเขียนโปรแกรม ตอนนี้คุณต้องแทรกโปรแกรมนั้นลงในตาราง หากตารางก่อนคำตอบของคุณจะเป็นดังนี้: ···a·24·········· ··z····t········· จากนั้นคุณสามารถวางโปรแกรมของคุณในบรรทัดที่สองซ้อนทับกับที่มีอยู่t: ···a·24·········· ··zprint(input()) โปรดทราบว่าคุณสามารถวางโปรแกรมของคุณในทิศทางใดก็ได้: ไปข้างหน้าถอยหลังถอยหลังขึ้นหรือลงตามแนวทแยงมุมตราบใดที่มันอยู่ในแนวเส้นตรง แต่จะเป็นอย่างไรถ้ากริดที่มีอยู่มีลักษณะดังนี้: ···a·24·········· ··z····q········· ไม่มีวิธีที่จะทำให้พอดีกับที่print(input())นี่โดยไม่ต้องเปลี่ยนตัวละครที่มีอยู่ซึ่งเป็นสิ่งต้องห้าม แต่คุณสามารถเปลี่ยนโปรแกรมได้: print( input()) โปรแกรมสองบรรทัดนี้เหมาะอย่างเรียบร้อย: ···a·24·print(··· ··z····q input()) ที่นี่คุณจะแทนที่ช่องว่าง ( ·) ด้วยช่องว่าง ( ) อย่างไรก็ตามช่องว่างก็เหมือนกับตัวละครอื่น ๆ และไม่สามารถเขียนทับในโปรแกรมในอนาคตได้ เช่นเดียวกับสายการบินโปรแกรมหลายบรรทัดสามารถวางในทิศทางใดก็ได้ ตัวอย่างเช่นในกริดที่ใหญ่ขึ้นคุณสามารถทำสิ่งต่อไปนี้ได้โดยหมุนโปรแกรมตามเข็มนาฬิกา 135 ° ·········· ········ …

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