ฉันเห็นความท้าทายที่สำคัญอีกอย่างหนึ่งที่มาจาก PPCG และฉันรักฉันในช่วงเวลาที่เหมาะสม จากนั้นฉันก็อ่านข้อความเกริ่นนำผิดและสงสัยในสิ่งที่สมองสร้างสรรค์ได้เกิดขึ้น
ปรากฎว่าคำถามที่ถูกวางเป็นเรื่องเล็กน้อย แต่ฉันสงสัยว่าเหมือนกันกับคำถามที่ฉันอ่านผิด (mis):
6 สามารถแทนด้วย 2 ^ 1 * 3 ^ 1 และ 50 สามารถแทนได้ด้วย 2 ^ 1 * 5 ^ 2 (โดยที่ ^ หมายถึง exponention)
งานของคุณ:
เขียนโปรแกรมหรือฟังก์ชั่นเพื่อกำหนดจำนวนช่วงเวลาที่แตกต่างกันในการแทนตัวเลข
การป้อนข้อมูล:
จำนวนเต็ม n เช่นที่ 1 <n <10 ^ 12 ถ่ายโดยวิธีปกติ
เอาท์พุท:
จำนวนเฉพาะช่วงเวลาที่จำเป็นต้องใช้เพื่อแสดงถึงปัจจัยเฉพาะที่สำคัญของ n
กรณีทดสอบ:
Input Factorisation Unique primes in factorisation representation
24 2^3*3^1 2 (2, 3)
126 2^1*3^2*7^1 3 (2, 3, 7)
8 2^3 2 (2, 3)
64 2^6 1 (2) (6 doesn't get factorised further)
72 2^3*3^2 2 (2, 3)
8640 2^6*3^3*5^1 3 (2, 3, 5)
317011968 2^11*3^5*7^2*13^1 6 (2, 3, 5, 7, 11, 13)
27 3^3 1 (3)
นี่ไม่ใช่ลำดับ OEIS
เกณฑ์การให้คะแนน:
นี่คือ รหัสกอล์ฟคะแนนต่ำสุดเป็นไบต์ชนะ!
64
ผลลัพธ์ที่คาดหวังคือ 1 (2) ฉันชอบความคิดในการทำแบบวนซ้ำ แต่นั่นไม่ใช่วิธีที่ฉันอ่านคำถามดั้งเดิม ฉันคิดว่า8640
เป็นกรณีทดสอบที่เหมาะสม แต่น่าจะชัดเจนกว่านี้ - ขอบคุณ
64
คืออะไร มัน2 (2,3)
เป็น (เป็น 6 สามารถแสดงเป็น 2 * 3) หรือ1 (2)
(ไม่สนใจ 6)?