題目連結(jié):
給定兩正整數(shù) x0 、 y0 ( 2 ≦ x0 ≦ 100, 000 、 2 ≦ y0 ≦ 1, 000, 000 )。求滿足:以 x0 為最大公因數(shù),且以 y0 作為最小公倍數(shù)的正整數(shù)數(shù)對(P, Q)有多少組?
3 60
因為要分別以 x0 、 y0 作為最大公因數(shù)(GCD)和最小公倍數(shù)(LCM),因此正整數(shù)數(shù)對(P, Q)的 P 、 Q 之值必定介於 x0 ~ y0 之間。
仔細觀察,我們可以發(fā)現(xiàn) P ÷ x0 必與 Q ÷x0 互質(zhì),因為不互質(zhì)的話,就不是以 x0 作為GCD了;而且(P ÷ x0)×(Q ÷x0) = (y0 ÷ x0)。
也就是我們把問題簡化為:求有多少對(P ÷ x0, Q ÷x0)。且數(shù)對數(shù)量必為 2 ^ N ,其中 N 為 y0 ÷ x0 的相異質(zhì)因數(shù)之個數(shù)。
因此,我們只需去求出 y0 ÷ x0 的相異質(zhì)因數(shù)個數(shù) N 。最後,輸出 2 ^ N 即可。
此外,判斷一下給定的 x0 是否 ≦ y0 。若否,此時要輸出 0 。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。