รับ 2 อินพุตสตริงและเลขทศนิยมส่งออกสตริงที่คูณด้วยตัวเลขนั้น
การจับคือจำนวนสามารถเป็นจำนวนลอยหรือจำนวนเต็ม
คุณควรเอาท์พุตfloor(n)เวลาสตริงและจากนั้นfloor((n-floor(n))*len(string))ตัวอักษรแรกอีกครั้ง
หมายเหตุอื่น ๆ :
- อินพุตจะไม่ลอยตัวเสมอไปอาจเป็น int ดังนั้น 1.5, 1 และ 1.0 จึงเป็นไปได้ทั้งหมด มันจะอยู่ในฐาน 10 เสมอและหากคุณต้องการข้อยกเว้นโปรดแสดงความคิดเห็น
- อินพุตสตริงอาจมีช่องว่างคำพูดและอักขระอื่น ๆ ไม่มีการขึ้นบรรทัดใหม่หรือตัวอักษรควบคุม
- ไม่มีบิวด์อินสำหรับการทำซ้ำสายโดยตรงแม้
'a'*5จะอนุญาตให้ใช้การคูณสตริงเช่น python อย่างไรก็ตามอนุญาตให้เพิ่มสตริงได้
กรณีทดสอบ:
เครื่องหมายจุลภาคและช่องว่างแยกอินพุต
test case, 1 -> test case
case, 2.5 -> casecaseca
(will add more later), 0.3333 -> (will(space)
cats >= dogs, 0.5 -> cats >
หมายเหตุสุดท้าย:
ฉันเห็นคำตอบมากมายที่ใช้ฟังก์ชันการคูณสตริงหรือการยกเลิกในตัว สิ่งนี้ไม่ได้รับอนุญาต @ คำตอบของ VTC นั้นถูกต้องเนื่องจากไม่มีการคูณสตริงเฉพาะอินพุตแบบลอย ดังนั้นกฎที่ชัดเจนคือถ้ามันคูณสตริงโดยตรงคุณไม่สามารถทำได้
join "", ("case") x 2vs "case" x 2ใน Perl 6 [~] "case" xx 2เทียบกัน"case" x 2
directสตริงที่ทำซ้ำ (สิ่งนี้หมายความว่าอย่างไร) แต่ทั้งหมดที่คุณพูดถูก