• 洛谷 P1029 最大公约数和最小公倍数问题 Label:Water&&非学习区警告


    题目描述

    输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数

    条件:

    1.P,Q是正整数

    2.要求P,Q以x0为最大公约数,以y0为最小公倍数.

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

    输入输出格式

    输入格式:

    二个正整数x0,y0

    输出格式:

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

    输入输出样例

    输入样例#1:
    3 60
    
    输出样例#1:
    4
    

    说明

    P,Q有4种

    3 60 15 12 12 15 60 3

    代码

     1 #include<cmath>
     2 #include<cstdio>
     3 #include<cstring>
     4 #include<iostream>
     5 #include<algorithm>
     6 #define ll long long
     7 using namespace std;
     8 ll x,y;
     9 ll ans;
    10 
    11 ll gcd(ll a,ll b){
    12     if(b==0) return a;
    13     else return gcd(b,a%b);
    14 }
    15 
    16 int main(){
    17 //    freopen("01.in","r",stdin);
    18     cin>>x>>y;
    19     for(ll i=x;i*i<=x*y;i+=x){
    20         if(double(x)*double(y)/double(i)-x*y/i!=0.0) continue;
    21         if(gcd(i,x*y/i)==x){
    22             ans+=2;
    23         } 
    24     }
    25     cout<<ans<<endl;
    26 }
    版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!
  • 相关阅读:
    360安全浏览器发布
    搬家了
    驾驶员考试科目一通过
    脑海中总有些新念头
    2008汤姆斯杯尤伯杯羽毛球赛事直播时刻表
    操作日期和时间
    数据库设计中的14个技巧
    字段属性(空值、缺省值、标记字段/自增字段)
    SQL触发器
    数据库质疑事件 总结
  • 原文地址:https://www.cnblogs.com/radiumlrb/p/6044914.html
Copyright © 2020-2023  润新知