最大公约数和最小公倍数问题
Time Limit:1000MS Memory Limit:65536K
Description
输入二个正整数x0,y0(2 <= x0 <100000,2 <= y0 <= 1000000),求出满足下列条件的P,Q的个数
条件:
1、P,Q是正整数
2、要求P,Q以x0为最大公约数,以y0为最小公倍数.
试求:满足条件的所有可能的两个正整数的个数.
Input
两个正整数
Output
一个正整数
Sample Input
3 60
Sample Output
4
Hint
说明(不用输出)此时的 P Q 分别为:
3 60
15 12
12 15
60 3
所以:满足条件的所有可能的两个正整数的个数共4种.
Source
NOIP2001年第七届全国青少年信息学(计算机)奥林匹克分区联赛复赛普及组试题2
//水题…… #include<cstdio> int main() { int x0,y0,x,n=0,i=2; scanf("%d%d",&x0,&y0); if(y0%x0!=0) { printf("0\n"); return 0; } x=y0/x0; while(x!=1) { while(x%i!=0) i++; n++; while(x%i==0) x/=i; } printf("%d",n*2); return 0; }