日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

8.最大公约数和最小公倍数问题

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 8.最大公约数和最小公倍数问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述?Description

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

條件:? 1.P,Q是正整數

2.要求P,Qx0為最大公約數,y0為最小公倍數.

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

輸入描述?Input Description

二個正整數x0,y0

輸出描述?Output Description

滿足條件的所有可能的兩個正整數的個數

樣例輸入?Sample Input

3 60

樣例輸出?Sample Output

4

源代碼:

#include

using namespace std;

#include

#include

int x,y,sum=0;

int gys(int a,int b)

{

?????? if(a

?????? swap(a,b);

?????? int sh=a-b;

?????? while(sh!=0)

?????? {

????????????? a=b;

????????????? b=sh;

????????????? if(a

????????????? swap(a,b);

????????????? sh=a-b;

?????? }

?????? return b;

}

int gbs(int a,int b)

{

?????? return a*b/gys(a,b);

}

int main()

{

?????? cin>>x>>y;

?????? if(x>y)

?????? swap(x,y);

?????? if(y%x!=0)

?????? {

????????????? printf("0\n");

????????????? return 0;

?????? }

?????? else{

????????????? int v=x*y;

????????????? int s=sqrt(v);

????????????? for(int i=x;i<=s;i+=x)

????????????? {

???????????????????? if(gys(i,v/i)==x&&gbs(i,v/i)==y)

???????????????????? sum++;

????????????? }

?????? }

?????? printf("%d",sum*2);//*2輸出就是了

?????? return 0;

}

轉載于:https://www.cnblogs.com/c1299401227/p/5370815.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的8.最大公约数和最小公倍数问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。