อินพุต
อาร์เรย์ที่ไม่ว่างของจำนวนเต็มบวก
งาน
แปลงแต่ละจำนวนเต็มเป็นเลขฐานสองฐานแปดทศนิยมหรือฐานสิบหกในลักษณะที่แต่ละหลัก ( 0ถึงF ) ถูกใช้อย่างมากที่สุดครั้งเดียว
เอาท์พุต
รายการของฐานที่ใช้เพื่อไขปริศนา
ตัวอย่างรายละเอียด
ผลลัพธ์ที่คาดหวังสำหรับ[16, 17]คือ[ฐานแปด, ทศนิยม] [ฐานแปดทศนิยม]
นี่คือเหตุผล:
- เราไม่สามารถใช้ทศนิยมสำหรับทั้งสองหมายเลขได้ง่ายเนื่องจากตัวเลขทั้งสองมี1 1
- 16ไม่สามารถแปลงเป็นไบนารีได้เนื่องจากการเป็นตัวแทนในฐานนี้ ( 10,000 ) มีหลาย0 's
- 17ไม่สามารถแปลงเป็นไบนารีได้เช่นกันเนื่องจากการแสดงในฐานนี้ ( 1,0001 ) มีหลาย0และ1หลาย ' s
- 17ไม่สามารถแปลงเป็นเลขฐานสิบหกเพราะเป็นตัวแทนในฐานนี้ ( 11 ) ประกอบด้วยสอง1 's
ลองพิจารณาความเป็นไปได้ที่เหลืออยู่ทั้งหมด:
+---------+---------+--------+ | oct(16) | dec(16) | hex(16)| | = 20 | = 16 | = 10 | +--------------+---------+---------+--------+ | oct(17) = 21 | 20,21 | 16,21 | 10,21 | | dec(17) = 17 | 20,17 | 16,17 | 10,17 | +--------------+---------+---------+--------+
ทางออกที่เป็นไปได้เพียงอย่างเดียวคือการแปลง16ในฐานแปด ( 20 ) และเพื่อให้17ในทศนิยม ( 17 ) ด้วยวิธีนี้ตัวเลข0 , 1 , 2และ7จะถูกใช้เพียงครั้งเดียว
คำอธิบายและกฎ
- อินพุตรับประกันว่าจะนำไปสู่โซลูชันที่ไม่ซ้ำกัน รหัสของคุณไม่ควรสนับสนุนอาร์เรย์ที่มีวิธีแก้ไขปัญหาหลายวิธีหรือไม่มีวิธีแก้ปัญหาเลย
- คุณสามารถส่งออกฐานในรูปแบบที่สมเหตุสมผลเช่น["bin", "oct", "dec", "hex"] , ['b', 'o', 'd', 'h'] , "BODH " , [2,8,10,16] , [0,1,2,3]เป็นต้น แต่ควรอธิบายอย่างชัดเจนในคำตอบของคุณ
- คำสั่งของฐานในการส่งออกจะต้องตรงกับคำสั่งของจำนวนเต็มเข้า
- หากเป็นเช่นนั้นคุณอาจสมมติว่าอินพุตถูกเรียงลำดับจากต่ำสุดไปสูงสุดหรือจากสูงสุดไปต่ำสุด
- นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ!
กรณีทดสอบ
คุณไม่จำเป็นต้องแสดงผลลัพธ์การแปลงด้านล่าง พวกเขาให้ข้อมูลอย่างหมดจด
Input | Output | Conversion result
---------------------------------------+-----------------+------------------------
[ 119 ] | O | 167
[ 170 ] | D | 170
[ 64222 ] | H | FADE
[ 16, 17 ] | O/D | 20/17
[ 14, 64, 96 ] | H/H/D | E/40/96
[ 34, 37, 94 ] | O/D/H | 42/37/5E
[ 2, 68, 82 ] | B/D/H | 10/68/52
[ 22, 43, 96 ] | O/O/O | 26/53/140
[ 3639, 19086, 57162 ] | H/D/H | E37/19086/DF4A
[ 190, 229, 771 ] | O/H/O | 276/E5/1403
[ 2, 44, 69, 99 ] | B/H/H/H | 10/2C/45/63
[ 75, 207, 218, 357, 385 ] | H/H/H/D/O | 4B/CF/DA/357/601
[ 12, 28, 46, 78, 154, 188, 222, 240 ] | D/O/O/D/H/H/H/H | 12/34/56/78/9A/BC/DE/F0