คำถามติดแท็ก ascii-art

ความท้าทายนี้เกี่ยวข้องกับการสร้างหรือแยกภาพโดยใช้ตัวอักษรเป็นสี โดยทั่วไปจะใช้เพียง 95 ตัวอักษรที่พิมพ์ได้ (จากทั้งหมด 128 ตัว) ที่กำหนดโดยมาตรฐาน ASCII จากปี 1963

30
สามเหลี่ยมง่ายมาก
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก (ผ่าน stdin, command line หรือ function arg) แล้วพิมพ์หรือคืนค่าสตริงของสามเหลี่ยมขนาดเล็กจำนวนมากเหล่านี้เรียงกันเข้าด้วยกันสลับกันตามจุดที่พวกมันชี้ไป: /\ /__\ 1สามเหลี่ยมนี้เพียงอย่างเดียวคือการส่งออกถ้าใส่เป็น หากอินพุตเป็น2เอาต์พุตจะเป็น ____ /\ / /__\/ หากอินพุตเป็น3เอาต์พุตจะเป็น ____ /\ /\ /__\/__\ หากอินพุตเป็น4เอาต์พุตจะเป็น ________ /\ /\ / /__\/__\/ และอื่น ๆ โปรแกรมของคุณต้องรองรับอินพุตได้สูงสุด 2 16 - 1 = 65535 รายละเอียด สามเหลี่ยมซ้ายสุดชี้ขึ้นเสมอ อาจมีช่องว่างต่อท้าย แต่อาจไม่มีช่องว่างนำหน้าที่ไม่จำเป็น อาจมีบรรทัดใหม่ต่อท้ายที่เป็นตัวเลือก โปรดทราบว่าสำหรับ1การส่งออกเป็นสองบรรทัดยาว แต่อย่างอื่นมันเป็นสาม สิ่งนี้จำเป็น การส่งที่สั้นที่สุดในหน่วยไบต์ชนะ

30
มาวาดระเบิด Atari ST กัน!
บทนำ Atari STเป็นคอมพิวเตอร์ส่วนบุคคลที่ได้รับความนิยมค่อนข้างตั้งแต่กลางเดือน 80 ถึงต้นยุค 90 ของพลังงานจากโมโตโรล่า 68000 ไมโครโปรเซสเซอร์ บนเครื่องนี้พฤติกรรมเริ่มต้นของระบบปฏิบัติการสำหรับข้อยกเว้นของ CPU ที่ไม่ถูกตรวจจับคือการแสดงแถวของระเบิดบนหน้าจอดังแสดงในภาพต่อไปนี้: ที่มา: https://commons.wikimedia.org/wiki/File:Row_of_bombs.png หมายเหตุ: กราฟิกระเบิดอาจแตกต่างกันเล็กน้อยขึ้นอยู่กับเวอร์ชั่นของระบบปฏิบัติการ แต่ลองดูอันนี้เป็นข้อมูลอ้างอิง จำนวนระเบิดขึ้นอยู่กับข้อยกเว้นเวกเตอร์วัตถุที่พบมากที่สุดคือ: ($ 008) ข้อผิดพลาดของบัส: 2 ระเบิด ($ 00c) ที่อยู่ผิดพลาด: 3 ครั้ง ($ 010) คำสั่งที่ผิดกฎหมาย: 4 ลูก เป้าหมาย เป้าหมายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์หรือแสดงผล ASCII ของระเบิด Atari ST ดังกล่าว อินพุต จำนวนเต็มแทนจำนวนระเบิดที่จะแสดง รหัสของคุณจะต้องรองรับค่าที่พบบ่อยที่สุด: 2, 3 และ 4 การสนับสนุนการวางระเบิดน้อยลงและ / หรือมากกว่านั้นใช้ได้ …

12
กราฟิกอักษรเบรลล์
ตัดเมทริกซ์บูลใน 4x2 บล็อกและทำให้พวกเขาเป็นตัวอักษรเบรลล์...U+2800U+28FF [[0,1,0,0,1,0], [1,0,0,0,0,0], [1,0,0,0,1,0], [1,1,1,1,0,0]] ⣎⣀⠅ แผ่นที่มี 0-s หากขนาดไม่ได้เป็นทวีคูณของ 4 และ 2 [[0,1,0], [1,0,0], [1,1,1]] ⠮⠄ ใช้กฎการเล่นกอล์ฟตามปกติมีความยืดหยุ่นในรูปแบบอินพุต เอาต์พุตควรมีโครงสร้างของเมทริกซ์หรือดูเหมือนเมทริกซ์เช่นรายการสตริง สายเดียวกับการขึ้นบรรทัดใหม่ คำแนะนำ: chr(0x2800 + 128*b7 + 64*b6 + 32*b5 + 16*b4 + 8*b3 + 4*b2 + 2*b1 + b0)เป็นรูปแบบจุด b0 b3 b1 b4 b2 b5 b6 b7 ทดสอบที่ใหญ่กว่า: [[0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,0], [0,1,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1], …

27
เส้นขอบฟ้าตัวหาร
สำหรับจำนวนเต็มบวกใด ๆkให้แสดงว่าจำนวนตัวหารของd(k) kยกตัวอย่างเช่นd(6)เป็น4เพราะ6มี4ตัวหาร (คือ1, 2, 3, 6) ป.ร. ให้ไว้เป็นจำนวนเต็มบวกNแสดงเป็น "เส้นขอบฟ้า" ในงานศิลปะ ASCII ใช้อักขระคงที่เช่นว่าความสูงของ "อาคาร" ตั้งอยู่ในตำแหน่งแนวนอนkคือสำหรับd(k) k = 1, ..., Nดูกรณีทดสอบด้านล่าง กฎระเบียบ อาจใช้อักขระที่ไม่ใช่ช่องว่างอย่างสม่ำเสมอไม่จำเป็นต้อง#เป็นไปตามที่แสดงในกรณีทดสอบ Nอัลกอริทึมในทางทฤษฎีควรจะทำงานให้สูงโดยพลการ ในทางปฏิบัติเป็นที่ยอมรับได้หากโปรแกรมนั้นถูก จำกัด ด้วยเวลาหน่วยความจำขนาดชนิดข้อมูลหรือขนาดหน้าจอ อนุญาตให้มีช่องว่างในแนวนอนหรือแนวตั้งหรือแนวต่อท้ายหรือขึ้นบรรทัดใหม่ input และ output สามารถนำมาโดยใด ๆวิธีการที่เหมาะสม โปรแกรมหรือฟังก์ชั่นที่ได้รับอนุญาตในการเขียนโปรแกรมภาษา ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ กรณีทดสอบ N = 10: # # # # # ### ######### ########## N = 50: …

23
ทะเลในสถานีของคุณ
พื้นหลัง ฤดูร้อนจบไปแล้วในซีกโลกเหนือและพวกเราหลายคนคิดถึงแสงอาทิตย์ชายหาดคลื่นทะเล ... ความท้าทายนี้มุ่งหวังที่จะเชียร์พวกเขาด้วยการเตือนพวกเขาถึงทะเล ความท้าทาย นี่คือทะเล: ** ** ** ** ** **** **** **** **** **** ***** ***** ***** ***** ***** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ****** ****** ****** ****** **** ทะเลทำจาก 5 เท่าของรูปแบบคลื่นนี้: …

21
วาดบันไดปีศาจ
The Devil's Staircaseเป็นฟังก์ชั่นเศษส่วนที่เกี่ยวข้องกับชุดคันทอร์ งานของคุณคือการทำซ้ำฟังก์ชั่นขี้ขลาดนี้ - ในรูปแบบ ASCII! อินพุต จำนวนเต็มเดียวที่n >= 0ระบุขนาดของเอาต์พุต อินพุตอาจถูกกำหนดผ่าน STDIN, อาร์กิวเมนต์ของฟังก์ชันหรืออาร์กิวเมนต์บรรทัดคำสั่ง เอาท์พุต การแสดงผล ASCII- ศิลปะของขนาดบันไดของปีศาจnทั้งคืนเป็นสตริงหรือพิมพ์ไปยัง STDOUT ช่องว่างต่อท้ายที่ส่วนท้ายของแต่ละแถวไม่เป็นไร แต่ช่องว่างนำหน้าไม่ใช่ คุณสามารถเลือกที่จะพิมพ์ขึ้นบรรทัดใหม่ได้ สำหรับขนาด0เอาต์พุตเป็นเพียง: x (หากคุณต้องการคุณสามารถใช้อักขระ ASCII ที่พิมพ์ได้อื่น ๆ นอกจากเว้นวรรคแทนx) สำหรับขนาดn > 0เรา: ใช้ขนาดเอาต์พุตn-1และยืดแต่ละแถวออกเป็นสามส่วน ระลอกคลื่นระหว่างแถวของxs เดี่ยว เลื่อนแถวไปทางขวาเพื่อให้มีหนึ่งเดียวxในแต่ละคอลัมน์และตำแหน่งของแถวแรกxมีค่าน้อยที่สุดขณะที่ลดลงด้วยแถว ตัวอย่างเช่นผลลัพธ์สำหรับn = 1คือ: x xxx x เพื่อให้ได้ผลลัพธ์n = 2เรายืดแต่ละแถวออกเป็นสามส่วน: xxx xxxxxxxxx xxx ระลอกคลื่นน้อยระหว่างแถวของซิงเกิลx: x …

30
สร้างทางเดินฉุกเฉิน
ในบางประเทศมีคำแนะนำหรือกฎหมายเกี่ยวกับวิธีการสร้างทางเดินฉุกเฉินบนถนนที่มีหลายเลนต่อทิศทาง (ในเรื่องต่อไปนี้เราจะพิจารณาเฉพาะเลนที่ไปในทิศทางที่เรากำลังเดินทาง) กฎเหล่านี้เป็นกฎของเยอรมนี: หากมีเพียงเลนเดียวให้ทุกคนขับไปทางขวาเพื่อให้รถกู้ภัยสามารถผ่านไปทางซ้ายได้ หากมีสองเลนขึ้นไปรถยนต์ในเลนซ้ายสุดควรขับไปทางซ้ายและทุกคนควรเลื่อนไปทางขวา ท้าทาย กำหนดจำนวนN>0เลนปกติเอาท์พุทเลย์เอาต์ของเลนเมื่อทางเดินฉุกเฉินเกิดขึ้นโดยใช้สตริงของN+1อักขระ ASCII คุณสามารถใช้อักขระสองตัวจากรหัส ASCII 33สูงถึง126หนึ่งตัวเพื่อแสดงทางเดินฉุกเฉินและอีกตัวอักษรหนึ่งสำหรับแสดงรถยนต์ อนุญาตให้ใช้ช่องว่างต่อท้ายหรือนำหน้าการแบ่งบรรทัด ฯลฯ ตัวอย่าง ที่นี่เราใช้EสำหรับทางเดินฉุกเฉินและCสำหรับรถยนต์ N Output 1 EC 2 CEC 3 CECC 4 CECCC 5 CECCCC 6 CECCCCC etc

30
มาเล่นเทนนิสกัน
ทันใดนั้นฉันอยากเล่นเทนนิส แต่ฉันไม่มีศาล! เซอร์ไพร์ส! นี่คือที่ที่คุณเข้ามา คุณต้องพิมพ์สนามเทนนิสให้ฉัน แต่คุณต้องทำน้อยที่สุดเท่าที่จะเป็นไปได้เนื่องจากเหตุผลที่เป็นความลับ สนามเทนนิส --------- | | --------- | | | xxxxxxxxx | | | --------- | | --------- นี่คือรหัส - กอล์ฟดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

30
ทำแท่งน้ำแข็งคำ
เนื่องจากข้อ จำกัด ทางเทคนิคของการแลกเปลี่ยนสแต็คชื่อเรื่องจะแสดงอย่างไม่ถูกต้อง ที่ถูกต้องชื่อสำหรับความท้าทายนี้อยู่ ทำ Word Icicle! Word Icicle Word cicle ord cicle ord icle ord i le or i le or i l or l or r ความท้าทายในวันนี้คือการทำให้คำหยั่งรู้ออกมา กำหนดสตริงของASCII ที่พิมพ์ได้ทั้งหมดและอย่างน้อย 2 อักขระที่ไม่ใช่ช่องว่างให้ทำตามขั้นตอนต่อไปนี้: พิมพ์สถานะปัจจุบันของสตริง แทนที่อักขระที่เล็กที่สุดของคำ (นอกเหนือจากช่องว่าง) ด้วยช่องว่าง หากมีเน็คไทให้เปลี่ยนตัวละครซ้ายสุด ทำซ้ำในบรรทัดที่ต่อเนื่องกันจนกว่าสตริงจะมีอักขระที่ไม่ใช่ช่องว่างเพียง 1 ตัว สิ่งนี้จะสร้างเอฟเฟกต์ที่สตริงอินพุตดูเหมือนว่ากำลังละลาย ... I'm Melting!!! I'm Melting !! I'm Melting …

19
สร้างสี่เหลี่ยมที่มีขนาดเพิ่มขึ้นโดยจำลองรหัสเริ่มต้น
งานที่ได้รับมอบหมายของคุณคือการเขียนโปรแกรมที่มีความยาวเท่ากันซึ่งจะพิมพ์สี่เหลี่ยม ASCII-art (อธิบายไว้ด้านล่าง) ซึ่งจะเพิ่มความยาวด้านโดย1หน่วยในแต่ละครั้งที่มีการวางรหัสต้นฉบับลงตรงกลางของรหัสปัจจุบัน มันค่อนข้างยากสำหรับฉันที่จะกำหนดงานนี้เป็นอย่างดีดังนั้นฉันจะให้ตัวอย่าง: สมมติว่ารหัสเริ่มต้นของคุณคือCODEและพิมพ์: 0 จากนั้นแทรกCODEตรงกลาง: รหัสของคุณจะกลายเป็นCOCODEDEและควรพิมพ์: 00 00 ใส่CODEรหัสตรงกลางอีกครั้ง: รหัสของคุณกลายเป็นCOCOCODEDEDE และควรพิมพ์: 000 000 000 และอื่น ๆ คำตอบของคุณควรทำงานตามหลักเหตุผลหลังจากทำซ้ำจำนวนเท่าใดก็ได้ แต่ฉันเข้าใจว่าเนื่องจากข้อ จำกัด ด้านประสิทธิภาพของภาษา กฎบางอย่าง: คุณสามารถใช้ASCII ที่พิมพ์ได้ (32-127) เป็นอักขระที่จะใช้สำหรับสี่เหลี่ยมจัตุรัสของคุณ ตัวเลือกของคุณจะต้องคงที่ (คุณควรใช้อักขระเดียวกันสำหรับการทำซ้ำแต่ละครั้ง) ตารางการส่งออกเริ่มต้นต้องมีด้านยาวด้านละ1 ตาราง ascii-art ถูกกำหนดเป็นสตริงที่มีNบรรทัด (คั่นด้วยN-1 linefeeds / ขึ้นบรรทัดใหม่) และแต่ละบรรทัดมีNสำเนาของอักขระที่เลือก การส่งออกของคุณไม่ได้รับอนุญาตให้มีช่องว่างที่ไม่เกี่ยวข้องใด ๆ นอกเหนือจากการขึ้นบรรทัดใหม่ คุณสามารถใช้ค่าเริ่มต้นสำหรับอินพุตและเอาต์พุต (อนุญาตให้โปรแกรมหรือฟังก์ชั่น แต่ตัวอย่างไม่ได้) กลางของรหัสของคุณถูกกำหนดให้เป็นจุดที่รหัสที่มาสามารถแบ่งออกเป็นสองส่วนดังกล่าวว่าทั้งสองมีค่าเท่ากัน คำตอบของคุณจะได้รับคะแนนตามความยาวของโปรแกรมต้นฉบับของคุณเป็นไบต์ จำนวนไบต์ต่ำสุดชนะ ในกรณีที่มีเน็คไทคำตอบที่ถูกส่งไปก่อนหน้านี้ชนะ คุณสามารถใช้โปรแกรมนี้เพื่อใช้การแทรกโดยไม่ต้องทำด้วยมือ


25
บรรณาการให้สแตนลี
น่าเสียดายที่หนึ่งในนักเขียนหนังสือการ์ตูนที่ยิ่งใหญ่ที่สุดเสียชีวิตเมื่อบ่ายวานนี้ ดาราฮอลลีวูด, นักดนตรี, นักแสดงและคนอื่น ๆ จำนวนมากกำลังจ่ายส่วยให้นักเขียนที่ยอดเยี่ยมนี้ดังนั้นเราต้องทำอะไรบางอย่างเช่นกัน ท้าทาย พิมพ์โลโก้ The Avengers หมายเหตุ: คุณสามารถใช้อักขระอื่นแทนที่ # อื่นนอกเหนือจากอักขระเว้นวรรค ในขณะที่คุณต้องใช้อักขระช่องว่างสำหรับช่องว่าง ใน ASCII-art ###### ############### ##### ########## #### ####### #### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### #### ### ### ### ########### …

9
สร้างสามเหลี่ยมโดยไม่มีสามเหลี่ยมใด ๆ
ตอนเป็นเด็กตัวเล็กฉันชอบเล่นของเล่นเหล่านี้มาก: พวกเขาอาจใช้สำหรับงานศิลปะ แต่ฉันมักจะใช้มันเพื่อคณิตศาสตร์! เศษส่วนรูปแบบและอื่น ๆ ครั้งหนึ่งฉันได้รับการท้าทายนี้: สร้างสามเหลี่ยมโดยไม่ต้องใช้แผ่นสามเหลี่ยมสีเขียว ความท้าทายนี้ทำให้ฉันงงงวยเป็นเวลานานจนกระทั่งฉันสะดุดกับวิธีที่สวยงามและเรียบง่ายในการทำด้วยสี่เหลี่ยมคางหมูเพียง 3 ตัว: /\ /_/\ /__\_\ ทีนี้ลองสามเหลี่ยมนี้แล้วหมุน: ______ \ \__/ \/ / \/ การใช้สามเหลี่ยมสองรูปนี้เราสามารถสร้างรูปสามเหลี่ยมขนาดใหญ่ขึ้นได้ นี่คือรูปสามเหลี่ยมความสูง 2: /\ /_/\ /__\_\ /\ \__/\ /_/\/ /_/\ /__\_\/__\_\ และนี่คือสามเหลี่ยมความสูง 3-7: #3 /\ /_/\ /__\_\ /\ \__/\ /_/\/ /_/\ /__\_\/__\_\ /\ \__/\ \__/\ /_/\/ /_/\/ /_/\ /__\_\/__\_\/__\_\ #4 …

30
วาดรูปแบบโบว์ลิ่ง
เป้าหมายของคุณคือการแสดงศิลปะ ASCII ของการก่อตัวในโบว์ลิ่งสิบพินซึ่งมีหมุดเหลืออยู่เพียงบางส่วน ไบต์ที่น้อยที่สุดจะเป็นผู้ชนะ หมุดนับสิบอยู่ในรูปแบบสามเหลี่ยม: O O O O O O O O O O หมุดมีป้ายกำกับตั้งแต่ 1 ถึง 10 เป็น: 7 8 9 10 4 5 6 2 3 1 วาดหมุดเป็นOและหายไปในขณะที่.การก่อตัว1 3 5 6 9 10คือ: . . O O . O O . O O การป้อนข้อมูล: สตริงที่คั่นด้วยช่องว่างที่แสดงชุดย่อยที่ไม่ว่างเปล่าของตัวเลข 1 ถึง …

30
สายนี้เป็นสี่เหลี่ยมหรือไม่?
สตริงถือเป็นสแควร์หากตรงตามเงื่อนไขต่อไปนี้: แต่ละบรรทัดมีจำนวนอักขระเท่ากัน จำนวนอักขระในแต่ละบรรทัดเท่ากับจำนวนบรรทัด งานของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นซึ่งกำหนดว่าสตริงอินพุตที่กำหนดเป็นสี่เหลี่ยมหรือไม่ คุณอาจต้องป้อนข้อมูลให้คั่นด้วยตัวเลือก LF, CR หรือ CRLF อักขระขึ้นบรรทัดใหม่ไม่ถือเป็นส่วนหนึ่งของความยาวของบรรทัด คุณอาจต้องการให้มีหรือไม่เป็นบรรทัดใหม่ต่อท้ายในการป้อนข้อมูลซึ่งไม่นับเป็นบรรทัดเพิ่มเติม อินพุตเป็นสตริงหรืออาร์เรย์ถ่าน 1D มันไม่ใช่รายการของสตริง คุณอาจสมมติว่าอินพุตไม่ว่างเปล่าและมี ASCII ที่พิมพ์ได้เท่านั้นรวมถึงช่องว่าง คุณต้องส่งออกค่าความจริงสำหรับสตริงสแควร์และหนึ่งค่าเท็จสำหรับสตริงอื่น ๆ กรณีทดสอบจริง: foo บาร์ baz . .S .ss .S (s หมายถึงพื้นที่) เอสเอส เอสเอส (s หมายถึงพื้นที่) aaaaa aaaaa aaaaa aaaaa aaaaa กรณีทดสอบเท็จ: .. . . . .... .... 4444 333 22 333 333 …

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