华师一附中OI组
标题: P1029 最大公约数和最小公倍数问题 [打印本页]
作者: universehyf 时间: 2018-11-24 21:17
标题: P1029 最大公约数和最小公倍数问题
https://www.luogu.org/problemnew/show/P1029题目描述输入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的个数
条件:
试求:满足条件的所有可能的22个正整数的个数.
输入输出格式输入格式:
22个正整数x_0,y_0x0,y0
输出格式:
11个数,表示求出满足条件的P,QP,Q的个数
作者: universehyf 时间: 2018-11-24 21:17
- #include<iostream>
- #include<cstdio>
- #include<cmath>
- using namespace std;
- typedef long long ll;
- #define FOR(i,a,b)for(register ll i=a;i<=b;++i)
- long long s,r1;
- ll gcd(ll m,ll n){return n==0?m:gcd(n,m%n);}
- int x,y,ans;
- int main()
- {
- scanf("%d%d",&x,&y);
- if(y%x){cout<<0;return 0;}
- ll zs=y/x;
- ll sqrtt=sqrt(zs);
- FOR(i,1,sqrtt)
- {
- if(zs%i!=0) continue;
- if(gcd(i,zs/i)==1) ans++;
- }
- ans=ans<<1;
- cout<<ans;
- return 0;
- }
复制代码
欢迎光临 华师一附中OI组 (http://hsyit.cn/) |
Powered by Discuz! X3.2 |