เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้ในสายอักขระที่รับประกันว่าจะมีอักขระ ASCII ที่พิมพ์ได้ยกเว้นพื้นที่และเป็นความยาวรูปสามเหลี่ยม (1, 3, 6, 10, 15, 15, ... )
พิมพ์หรือส่งคืนสายเดียวกัน แต่รูปร่างเป็นรูปสามเหลี่ยมโดยใช้ช่องว่าง ตัวอย่างบางส่วนจะแสดงสิ่งที่ฉันหมายถึง:
ถ้าอินพุตเป็นR
เอาต์พุตจะเป็น
R
ถ้าอินพุตเป็นcat
เอาต์พุตจะเป็น
c
a t
ถ้าอินพุตเป็นmonk3y
เอาต์พุตจะเป็น
m
o n
k 3 y
ถ้าอินพุตเป็นmeanIngfu1
เอาต์พุตจะเป็น
m
e a
n I n
g f u 1
ถ้าอินพุตเป็น^/\/|\/[]\
เอาต์พุตจะเป็น
^
/ \
/ | \
/ [ ] \
หากอินพุตเป็น
Thisrunofcharactersismeanttohavealengththatcanbeexpressedasatriangularnumber.Diditwork?Youtellme,Ican'tcountverywell,ok?
จากนั้นผลลัพธ์จะเป็น
T
h i
s r u
n o f c
h a r a c
t e r s i s
m e a n t t o
h a v e a l e n
g t h t h a t c a
n b e e x p r e s s
e d a s a t r i a n g
u l a r n u m b e r . D
i d i t w o r k ? Y o u t
e l l m e , I c a n ' t c o
u n t v e r y w e l l , o k ?
โดยทั่วไปแล้วบรรทัดใหม่จะถูกแทรกระหว่างสตริงย่อยของความยาวรูปสามเหลี่ยมช่องว่างจะถูกเพิ่มระหว่างอักขระทั้งหมดและแต่ละบรรทัดจะถูกเยื้องด้วยช่องว่างเพื่อให้พอดีกับรูปร่างสามเหลี่ยม
ขึ้นบรรทัดใหม่และบรรทัดที่มีช่องว่างต่อท้ายสามารถเลือกได้ แต่ไม่เช่นนั้นผลลัพธ์ของคุณควรตรงกับตัวอย่างเหล่านี้ บรรทัดสุดท้ายของรูปสามเหลี่ยมไม่ควรมีช่องว่างนำหน้า
รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ