วิธีหนึ่งในการแทนจำนวนธรรมชาติคือการคูณเลขชี้กำลังของจำนวนเฉพาะ ตัวอย่างเช่น 6 สามารถแทนด้วย 2 ^ 1 * 3 ^ 1 และ 50 สามารถแทนได้ด้วย 2 ^ 1 * 5 ^ 2 (โดยที่ ^ หมายถึง exponention) จำนวนของจำนวนเฉพาะในการเป็นตัวแทนนี้สามารถช่วยในการกำหนดว่ามันจะสั้นกว่าที่จะใช้วิธีการเป็นตัวแทนนี้เมื่อเทียบกับวิธีการอื่น ๆ แต่เนื่องจากฉันไม่ต้องการคำนวณสิ่งเหล่านี้ด้วยตนเองฉันต้องการโปรแกรมที่จะทำเพื่อฉัน อย่างไรก็ตามเนื่องจากฉันจะต้องจำโปรแกรมจนกว่าฉันจะถึงบ้านจึงต้องสั้นที่สุด
งานของคุณ:
เขียนโปรแกรมหรือฟังก์ชั่นเพื่อกำหนดจำนวนช่วงเวลาที่แตกต่างกันในการแทนตัวเลข
การป้อนข้อมูล:
จำนวนเต็ม n เช่นที่ 1 <n <10 ^ 12 ถ่ายโดยวิธีปกติ
เอาท์พุท:
จำนวนของช่วงเวลาที่แตกต่างกันซึ่งจำเป็นต้องใช้เพื่อแสดงอินพุตตามที่อธิบายไว้ในบทนำ
กรณีทดสอบ:
24 -> 2 (2^3*3^1)
126 -> 3 (2^1*3^2*7^1)
1538493 -> 4 (3^1*11^1*23^1*2027^1)
123456 -> 3 (2^6*3^1*643^1)
นี่คือOEIS A001221
เกณฑ์การให้คะแนน:
นี่คือโค้ดกอล์ฟคะแนนต่ำสุดเป็นไบต์ชนะ!