天天看點

最大公約數和最小公倍數問題-洛谷 1029

題目描述

輸入二個正整數x0,y0(<=x0<,<=y0<=),求出滿足下列條件的P,Q的個數

條件:

.P,Q是正整數

.要求P,Q以x0為最大公約數,以y0為最小公倍數.

試求:滿足條件的所有可能的兩個正整數的個數.

輸入輸出格式

輸入格式:
二個正整數x0,y0

輸出格式:
一個數,表示求出滿足條件的P,Q的個數

輸入輸出樣例

輸入樣例#1:
 
輸出樣例#1:

說明

P,Q有種

       

題解:這一題很簡單,先判斷最大公約數,再判斷最小公倍數,然後統計。

var n,he,m,k,i:longint;
function gcd(a,b:longint):boolean;
var r:longint;
begin
 repeat
  r:=a mod b;
  a:=b; b:=r;
 until b=;
 if a=n then exit(true) else exit(false);
end;
begin
 readln(n,m);
 he:=n*m;
 for i:=n to m do 
  if he mod i= then if gcd(i,he div i) then inc(k);
 writeln(k);
end.