• 8.最大公约数和最小公倍数问题


    题目描述 Description

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

    条件 1.P,Q是正整数

    2.要求P,Qx0为最大公约数,y0为最小公倍数.

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

    输入描述 Input Description

    二个正整数x0,y0

    输出描述 Output Description

    满足条件的所有可能的两个正整数的个数

    样例输入 Sample Input

    3 60

    样例输出 Sample Output

    4

    源代码:

    #include

    using namespace std;

    #include

    #include

    int x,y,sum=0;

    int gys(int a,int b)

    {

           if(a

           swap(a,b);

           int sh=a-b;

           while(sh!=0)

           {

                  a=b;

                  b=sh;

                  if(a

                  swap(a,b);

                  sh=a-b;

           }

           return b;

    }

    int gbs(int a,int b)

    {

           return a*b/gys(a,b);

    }

    int main()

    {

           cin>>x>>y;

           if(x>y)

           swap(x,y);

           if(y%x!=0)

           {

                  printf("0 ");

                  return 0;

           }

           else{

                  int v=x*y;

                  int s=sqrt(v);

                  for(int i=x;i<=s;i+=x)

                  {

                         if(gys(i,v/i)==x&&gbs(i,v/i)==y)

                         sum++;

                  }

           }

           printf("%d",sum*2);//*2输出就是了

           return 0;

    }

  • 相关阅读:
    安装spark-1.5遇到的一些问题
    spark遇到的一些问题及其解决办法
    spark-client 一直 accepted,无法提交任务,报错Failed to connect to driver at
    spark-sql用hive表格,在spark-submit运行jar包时遇到的问题
    hive streaming 使用的时候的一些心得
    [BZOJ]1063 道路设计(Noi2008)
    PKUWC2018划水记
    [BZOJ]3527 力(ZJOI2014)
    [Codeforces]906D Power Tower
    [BZOJ]1071 组队(SCOI2007)
  • 原文地址:https://www.cnblogs.com/csgc0131123/p/5290564.html
Copyright © 2020-2023  润新知