题目描述
输入 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 为最小公倍数.
试求:满足条件的所有可能的 22 个正整数的个数.
输入输出格式
输入格式:22 个正整数 x_0,y_0x0,y0
11 个数,表示求出满足条件的 P,QP,Q 的个数
代码如下:
import java.util.Scanner;public class Main {
public static int gcd(int a,int b) {
if(b==0) {
return a;
}
return gcd(b, a%b);
}
public static void main(String[] args) {
int count = 0;
Scanner input = new Scanner(System.in);
int x = input.nextInt();
int y = input.nextInt();
for(int i=1;i<=Math.sqrt(x*y);i++) {
if((x*y)%i==0 && gcd(i, (x*y)/i)==x){
count++;
}
}
System.out.println(count*2);
}
}