輸入二個正整數x0,y0(2<=x0<100000,2<=y0<=1000000),求出滿足下列條件的p,q的個數
條件:1.p,q是正整數
2.要求p,q以x0為最大公約數,以y0為最小公倍數.
試求:滿足條件的所有可能的兩個正整數的個數.
輸入格式:
二個正整數x0,y0
輸出格式:
乙個數,表示求出滿足條件的p,q的個數
輸入樣例#1:
3 60
輸出樣例#1:
4
p,q有4種
3 60 15 12 12 15 60 3
分析:暴力可以過,但是也可以用數學方法,利用唯一分解定律,最大公約數的次數都是取min,最小公倍數的次數都是取max,如果次數不同,證明這一位的貢獻值是2,兩個數乙個取max,乙個取min,就好了,如果次數相等,就沒有貢獻。在處理前先判斷一下最大公約數能不能整除最小公倍數.
#include #include#include
#include
#include
using
namespace
std;
intx,y,cnt;
int qpow(int a,int
b)
return
ans;
}int
main()
}printf(
"%d\n
",qpow(2
,cnt));
}
return0;
}
洛谷 P1029 最大公約數和最小公倍數問題
給你兩個數a,b,讓你求有多少對數,他們的最大公約數是a,最小公倍數是b。首先,要知道 a b 等於滿足條件的兩個數的乘積,因此我們可以讓 i 從1開始 另乙個數是 a b i 進行遍歷,如果第二個數能夠被整除,並且這兩個數最大公約數是a,那麼就是滿足條件的兩個數。還有乙個思路是說我們可以從a開始遍...
P1029 最大公約數和最小公倍數問題
題目描述 輸入兩個正整數 x,y,求出滿足下列條件的 p,q 的個數 p,q 是正整數。要求 p,q 以x 為最大公約數,以y 為最小公倍數。試求 滿足條件的所有可能的 p,q 的個數。輸入格式 一行兩個正整數 x,y 輸出格式 一行乙個數,表示求出滿足條件的 p,q 的個數。輸入輸出樣例 輸入 1...
P1029 最大公約數和最小公倍數問題(思維題)
輸入22個正整數x 0,y 0 2 le x 0 100000,2 le y 0 1000000 x0 y0 2 x0 100000,2 y0 1000000 求出滿足下列條件的p,qp,q的個數 條件 p,qp,q是正整數 要求p,qp,q以x 0x0 為最大公約數,以y 0y0 為最小公倍數.試...