แรงบันดาลใจจากคำถามนี้เกี่ยวกับคณิตศาสตร์
ให้ตัวประกอบที่สำคัญของตัวเลขnจะแสดงเป็นP (n) = 2 x 3 ข x 5 ค x ...
(ใช้xเป็นสัญลักษณ์การคูณ.)
แล้วจำนวนหารของnสามารถแสดงเป็นD (n) = (A + 1) x (B + 1) x (C + 1) ...
ดังนั้นเราจึงสามารถกล่าวว่าจำนวนของตัวหารของ2nเป็นD (2n) = (A + 2) x (B + 1) x (C + 1) ... ,
จำนวนหารของ3nเป็นD (3n ) = (A + 1) x (B + 2) x (C + 1) ... ,
และอื่น ๆ
ท้าทาย:
เขียนโปรแกรมหรือฟังก์ชั่นที่ใช้คุณสมบัติเหล่านี้ในการคำนวณnรับอินพุตตัวหารบางตัว
การป้อนข้อมูล:
ชุดจำนวนเต็มลองเรียกมันว่าw, x, y, zโดยมีคำจำกัดความต่อไปนี้ทั้งหมด:
- อินพุตทั้งหมดมากกว่า 1 -
w, x, y, z > 1
- xและzชัดเจน -
x<>z
- xและZเป็นนายก -
P(x)=x
,D(x)=2
และP(z)=z
,D(z)=2
- wคือจำนวนตัวหารของxn -
D(xn)=w
- yคือจำนวนตัวหารของzn -
D(zn)=y
(28, 2, 30, 3)
สำหรับปัญหาที่ได้รับในคำถามที่เชื่อมโยงตัวอย่างการป้อนข้อมูลที่อาจจะ การแปลนี้ไปD(2n)=28
และมีD(3n)=30
n=864
เอาท์พุท:
เลขจำนวนเต็มเดี่ยว, n , ซึ่งเป็นไปตามข้อกำหนดข้างต้นและข้อ จำกัด การป้อนข้อมูล หากตัวเลขหลายตัวตรงกับคำจำกัดความ หากไม่มีจำนวนเต็มเช่นนั้นให้ส่งออกค่าเท็จ
ตัวอย่าง:
(w, x, y, z) => output
(28, 2, 30, 3) => 864
(4, 2, 4, 5) => 3
(12, 5, 12, 23) => 12
(14, 3, 20, 7) => 0 (or some other falsey value)
(45, 13, 60, 11) => 1872
(45, 29, 60, 53) => 4176
กฎ:
- กฎของรหัสกอล์ฟมาตรฐานและข้อ จำกัด ทางหนีใช้
- ใช้กฎอินพุต / เอาต์พุตมาตรฐาน
- หมายเลขที่ป้อนสามารถอยู่ในลำดับใดก็ได้ - โปรดระบุคำตอบที่คุณใช้
- หมายเลขอินพุตสามารถอยู่ในรูปแบบที่เหมาะสม: คั่นด้วยช่องว่าง, อาร์เรย์, ฟังก์ชั่นที่แยกต่างหากหรืออาร์กิวเมนต์บรรทัดคำสั่ง ฯลฯ - ตัวเลือกของคุณ
- ในทำนองเดียวกันถ้าเอาท์พุทไปยัง STDOUT, ช่องว่างโดยรอบ, ขึ้นบรรทัดใหม่, ฯลฯ เป็นตัวเลือกทั้งหมด
- การแยกวิเคราะห์อินพุตและการจัดรูปแบบผลลัพธ์ไม่ใช่คุณสมบัติที่น่าสนใจของความท้าทายนี้
- ในความสนใจของความซับซ้อนที่มีสติและล้นจำนวนเต็มจำนวนความท้าทายที่nจะมีข้อ จำกัด เช่น
1 < n < 100000
- คุณไม่ต้องกังวลเกี่ยวกับคำตอบที่เป็นไปได้นอกช่วงนี้