สร้างชุดคำสั่งที่ใช้อาร์เรย์ของบล็อกในระบบฐานตัวเลขหนึ่งและแปลงให้เป็นอาร์เรย์ของบล็อกในระบบฐานตัวเลขอื่น ทั้งจากและสู่ระบบโดยพลการและควรได้รับการยอมรับเป็นพารามิเตอร์ อาเรย์อินพุตอาจเป็นความยาวตามอำเภอใจ (หากใช้ภาษาที่ไม่ได้เก็บความยาวของอาเรย์ไว้กับอาเรย์เช่น C พารามิเตอร์ความยาวควรถูกส่งผ่านไปยังฟังก์ชัน)
นี่คือวิธีการใช้งาน:
fromArray = [1, 1]
fromBase = 256
toBase = 16
result = convertBase(fromArray, fromBase, toBase);
สิ่งใดที่ควรส่งคืน[0, 1, 0, 1]
หรืออาจเป็นไปได้[1, 0, 1]
(การนำหน้า0
s เป็นทางเลือกเนื่องจากไม่เปลี่ยนค่าของคำตอบ)
นี่คือเวกเตอร์ทดสอบบางส่วน:
การทดสอบเอกลักษณ์เวกเตอร์
fromArray = [1, 2, 3, 4] fromBase = 16 toBase = 16 result = [1, 2, 3, 4]
Vector ทดสอบเล็กน้อย
fromArray = [1, 0] fromBase = 10 toBase = 100 result = [10]
เวกเตอร์ทดสอบขนาดใหญ่
fromArray = [41, 15, 156, 123, 254, 156, 141, 2, 24] fromBase = 256 toBase = 16 result = [2, 9, 0, 15, 9, 12, 7, 11, 15, 14, 9, 12, 8, 13, 0, 2, 1, 8]
เวกเตอร์ทดสอบที่ใหญ่จริงๆ
fromArray = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] fromBase = 2 toBase = 10 result = [1, 2, 3, 7, 9, 4, 0, 0, 3, 9, 2, 8, 5, 3, 8, 0, 2, 7, 4, 8, 9, 9, 1, 2, 4, 2, 2, 3]
เวกเตอร์ฐานที่ไม่สม่ำเสมอ
fromArray = [41, 42, 43] fromBase = 256 toBase = 36 result = [1, 21, 29, 22, 3]
เกณฑ์ / กฎอื่น ๆ :
ตัวแปรเลขจำนวนเต็มทั้งหมดควรพอดีภายในจำนวนเต็มที่มีลายเซ็นมาตรฐาน 32 บิตสำหรับช่วงอินพุตที่มีสติทั้งหมด
คุณสามารถแปลงเป็นตัวแทนคนกลางได้ตราบใดที่คนกลางไม่มีอะไรมากไปกว่าจำนวนเต็มจำนวน 32 บิต
คาดหวังว่าจะรองรับฐานได้ตั้งแต่ 2 ถึง 256 ไม่จำเป็นต้องรองรับฐานที่สูงกว่านั้น (แต่ถ้าคุณต้องการโดยทั้งหมด)
คาดว่าจะรองรับขนาดอินพุตและเอาต์พุตอย่างน้อย 1,000 อิลิเมนต์ วิธีแก้ปัญหาที่ปรับขนาดเป็น 2 ^ 32-1 องค์ประกอบน่าจะดีกว่า แต่ 1,000 ก็ใช้ได้
นี่ไม่จำเป็นต้องเกี่ยวกับการมีรหัสสั้นที่สุดที่จะเป็นไปตามกฎเหล่านี้ มันเกี่ยวกับการมีโค้ดที่สะอาดและหรูหราที่สุด
ทีนี้มันก็ไม่ได้น่าสนใจอะไรนักดังนั้นคำตอบที่เกือบจะเป็นที่ยอมรับ!