ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

4. [2001年NOIP普及组] 最大公约数和最小公倍数问题

2022-08-21 21:34:09  阅读:156  来源: 互联网

标签:return NOIP 公倍数 long int 最大公约数 2001 include


题目链接(码学堂,数据弱)

题目链接(洛谷,数据极强)

摘要:

1.P,Q是正整数(unsigned)
2.要求P,Q以x0为最大公约数,以y0为最小公倍数.
试求:满足条件的所有可能的两个正整数的个数.

 

分析1:

暴力枚举,看这两个数的最大公约数和最小公倍数是否与题目一样

 1 #include<iostream>
 2 #include<cmath>
 3 #include<cstdio> 
 4 using namespace std;
 5 long long p,q;
 6 long long ans;
 7 long long lcm(int x,int y)
 8 {
 9     long long  xx=x/p;
10     long long  yy=y/p;
11     return xx*yy*p;
12 }
13 long long gcd(long long x,long long y)
14 {
15     if(x%y==0) return y;
16     else return gcd(y,x%y);
17 }
18 int main()
19 {
20     cin>>p>>q;
21     for(long long i=0;i<=q;i+=p)//优化细节1:跳跃式枚举 
22         for(long long j=0;j<=q;j+=p)
23             if(lcm(i,j)==q&&gcd(i,j)==p)
24             {
25                 ans++;
26                 if(i==j) ans--;//注意位置!//平方的特殊情况! 
27             }
28     cout<<ans;
29     return 0;
30  } 

 

标签:return,NOIP,公倍数,long,int,最大公约数,2001,include
来源: https://www.cnblogs.com/xdzxxintong/p/16610896.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有