当前位置:网站首页>信息学奥赛一本通 1915:【01NOIP普及组】最大公约数与最小公倍数 | 洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
信息学奥赛一本通 1915:【01NOIP普及组】最大公约数与最小公倍数 | 洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
2022-07-30 17:33:00 【君义_noip】
【题目链接】
ybt 1915:【01NOIP普及组】最大公约数与最小公倍数
洛谷 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题
【题目考点】
1. 最大公约数与最小公倍数
- 求最大公约数的方法:见信息学奥赛一本通 1207:求最大公约数问题 | OpenJudge 2.2 7592:求最大公约数问题
- 最大公约数与最小公倍数的关系:两数乘积为这两数最大公约数与最小公倍数的乘积
【解题思路】
已知两个正整数x,y。x是p,q两个数的最大公约数,y是p,q两个数的最小公倍数。
因为两数乘积是最大公约数与最小公倍数的乘积,所以有: x y = p q xy = pq xy=pq
p,q这两个数字,一定都大于等于最大公约数x,小于等于最小公倍数y。
从x到y枚举p,通过 q = x y / p q = xy/p q=xy/p得到q。
求出p,q的最大公约数,看最大公约数的值是否等于x。如果是,那么这一组p, q是满足条件的,做计数。否则不满足条件。
最后输出满足条件的p, q的个数。
【题解代码】
解法1:使用迭代方法求最大公约数
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b)//求a, b的最大公约数。注意必须满足a >= b
{
int r;
while(b > 0)
{
r = a % b;
a = b;
b = r;
}
return a;
}
int main()
{
int x, y, p, q, ct = 0, x1;
cin >> x >> y;
for(p = x; p <= y; ++p)
{
if(x*y%p == 0)
{
q = x*y/p;
x1 = gcd(p, q);//求出p, q的最大公约数x1
if(x1 == x)//如果与x相同,那么这一组p, q满足条件
ct++;
}
}
cout << ct;
return 0;
}
解法2:使用递归方法求最大公约数
#include<bits/stdc++.h>
using namespace std;
int gcd(int a, int b)//求a, b的最大公约数。注意必须满足a >= b
{
if(b == 0)
return a;
return gcd(b, a%b);
}
int main()
{
int x, y, p, q, ct = 0;
cin >> x >> y;
for(p = x; p <= y; ++p)
if(x*y%p == 0 && gcd(p, x*y/p) == x)
ct++;
cout << ct;
return 0;
}
边栏推荐
- [MRCTF2020]Ezaudit
- [MRCTF2020]Ezaudit
- 【综合类型第 34 篇】喜讯!喜讯!!喜讯!!!,我在 CSDN 的第一个实体铭牌
- 优酷视频元素内容召回系统:多级多模态引擎探索
- 什么是工业射线照相设备?
- C陷阱与缺陷 第6章 预处理器 6.3 宏并不是语句
- Wanhua chemical fine chemical industry innovation product assembly
- Daily practice------Generate 13-digit bar, Ean-13 code rule: The thirteenth digit is the check code obtained by the calculation of the first twelve digits.
- LeetCode167: Sum of two numbers in sorted array
- C陷阱与缺陷 第6章 预处理器
猜你喜欢
随机推荐
图卷积神经网络的数学原理——谱图理论和傅里叶变换初探
S7-200SMART中定时器的使用方法和常见注意事项汇总
浅谈在线编辑器中增量编译技术的应用
Tensorflow中实现正则化
Error occurred while trying to proxy request项目突然起不来了
Excel导入和导出
[HarekazeCTF2019]Avatar Uploader 1
字符串复制、拼接、比较以及分割函数总结(一)
全球架构师峰会
基于模糊PID的液压舵机伺服系统
C陷阱与缺陷 第6章 预处理器 6.1 不能忽视宏定义中的空格
DLCM - 基于列表上下文信息的重排序模型
阿里巴巴CAN:Embedding前置的特征交互新思路
FP6606CMP5 CPC-16L USB类型-C和PD充电控制器 百盛电子代理商
FP6600QSO SOP-8 USB专用充电端口控制器 用于快充电协议和QC2.0/3.0
torch.optim.Adam() 函数用法
首发!阿里技术大牛最新耗时半个月整理出最全MySQL性能优化和高可用架构技术宝典,直接封神!
web服务通过用户访问请求判断设备来源
Error EPERM operation not permitted, mkdir 'Dsoftwarenodejsnode_cache_cacach Two solutions
Metaverse Web 3.0 和 DeFi大师班
![Valid bracketed strings [greedy exercise]](/img/1c/5cefb53bc4aba54dd79b0cc9b09b0d.png)






![(17)[系统调用]追踪系统调用(0环)](/img/d4/aa48745ac918ebfc45c07b587fa86f.png)

