大家好,我是爬行系,今天带大家打卡一下基础知识点,最大公约数和最小公倍数问题,一起来看下吧!
文章目录
最小公倍数与最大公约数
两个数的乘积等于两者的最小公倍数与最大公约数的积
题目描述
题目描述
输入两个正整数 x0, y0,求出满足下列条件的 P,Q 的个数:P,Q 是正整数。要求 P, Q以 x0 为最大公约数,以 y0 为最小公倍数。
试求:满足条件的所有可能的 P,Q 的个数。
输入格式
一行两个正整数 x0,y0
输出格式
一行一个数,表示求出满足条件的 P, Q的个数。
题目链接
AC代码
import java.util.Scanner;
public class Main {
static int x,y;
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
x=sc.nextInt();
y=sc.nextInt();
int mul=x*y;
int count=0;
for(int i=x;i<=Math.sqrt(x*y);i++){
if(mul%i==0&&gcd(i,mul/i)==x){
if(i==mul/i) count++;//互为位置,为一种情况
else count+=2;
}
}
System.out.println(count);
}
//求最大公约数的模板
public static int gcd(int a,int b){
if(b==0) return a;
return gcd(b,a%b);
}
}