題目網址: https://goo.gl/1vzl9i
題意:
(from luckycat)
解法:
假設一串有 m 項的數列首項為 a 滿足此 m 項的和為 n ,即是 (a+(a+m-1))*m/2 = n ,
則可以知道 2n = (2a + m -1)*m,分析得知 若 m 是偶數,則 (2a+m-1) 是奇數;反之,若 m 是奇數,則 (2a+m-1) 是偶數。
也就是說 若 2n 能夠拆成 某個奇數乘某個偶數,就能與一組數列和相等。
也就是找出 2n 有幾個 "奇數的因數",也就是 n 有幾個 "奇數的因數"。
把 n 質因數分解,算出有幾個 奇數的因數 即是答案。
TAG: Math
注意:
程式碼:
沒有留言:
張貼留言
任何意見都樂意傾聽