码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-07-25 23:57:58      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:.com   图片   i++   set   pen   ==   整数   res   lis   

题目描述

输入 2 个正整数 x,y,求出满足下列条件的 P,Q 的个数

条件:

  1. P,Q 是正整数

  2. 要求P,Q 以 x 为最大公约数,以 y? 为最小公倍数.

试求:满足条件的所有可能的 2个正整数的个数.

输入输出格式

输入格式:

 2 个正整数 x,y

输出格式:

1 个数,表示求出满足条件的 P,Q 的个数

只是注意一点,两个数的最大公约数和最小公倍数的乘积,和原来两数的乘积相同。

可以据此解题。

 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int m,n;
 4 int ans;
 5 int gcd(int x,int y){
 6     if(y==0)return x;
 7     return gcd(y,x%y);
 8 }
 9 int main(){
10     cin>>n>>m;
11     for(int i=1;i<=sqrt(m*n);i++){
12         if((m*n)%i==n&&gcd(i,(n*m)/i)==n) ans++;
13     }
14     cout<<ans*2;
15 }

技术分享图片

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

标签:.com   图片   i++   set   pen   ==   整数   res   lis   

原文地址:https://www.cnblogs.com/1129-tangqiyuan/p/9368922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!