当前位置: 首页 > news >正文

2021:【例4.6】最大公约数

提交数:98849 通过数: 64137
【题目描述】
求两个正整数m
,n
的最大公约数。

【输入】
输入m
,n

【输出】
m
,n
的最大公约数。

【输入样例】
4 6
【输出样例】
2
【提示】
【数据范围】

对于全部数据:m,n<4000000

#include<bits/stdc++.h>
using namespace std;
int main(){int m,n,t=1;cin>>m>>n;if(m<n)//确保m为最大数{t=n;n=m;m=t;}while(t){t=m%n;//辗转相除法,a%b,若等于0则出b反之要b为被除数,余数为除数,直至为0;if(t==0)cout<<n;else{m=n;n=t;}}return 0;
}

法三:更相减损法
更相减损法:也叫更相减损术,是出自《九章算术》的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何需要求最大公约数的场合。
《九章算术》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。”
翻译成现代语言如下:
第一步:任意给定两个正整数;判断它们是否都是偶数。若是,则用2约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止。
则第一步中约掉的若干个2与第二步中等数的乘积就是所求的最大公约数。
其中所说的“等数”,就是最大公约数。求“等数”的办法是“更相减损”法。所以更相减损法也叫等值算法。

http://www.gsyq.cn/news/44101.html

相关文章:

  • 考试(高二上)
  • 详细介绍:风机水泵改软起技术分析(XX公司)
  • Entry HDL原理图导出料单设置步骤
  • Allegro:如何手动在PCB中添加元器件以及删除元器件
  • 计算机毕业设计选题推荐:基于SpringBoot和Vue的快递物流仓库管理系统【源码+文档+调试】 - 实践
  • Camsys 时间戳信息简介
  • Django `models.Field` 所有常见安装参数的完整清单与说明表
  • Java Redis “Sentinel(哨兵)与集群”面试清单(含超通俗生活案例与深度理解) - 实践
  • 操作系统中的索引节点存放什么数据?
  • CICD程序选型指南,Jenkins vs Arbess哪一款更好用?
  • csp-j/s历险记
  • 2025年重袋包装机品牌排行榜:十大实力厂家综合评测
  • 软考完结篇
  • 深度学习优化算法深入分析:从 SGD 到 LAMB - 指南
  • 记录一些生活。
  • visio绘制带公式图片作为latex插图
  • Jenkins Pipeline post指令详解 - 实践
  • 训练资源大合集
  • MyBatis报错SQL 命令未正确结束
  • SGLANG Docker容器化部署指南
  • 保研经验分享
  • 完整教程:从架构师视角看 RPC:分布式系统的灵魂纽带
  • 视野修炼-技术周刊第126期 | TypeScript #1
  • 分享一个Oracle 数据库信息收集脚本
  • Zabbix服务告警:More than 75% used in the configuration cache
  • mounriver studio WINDOWS启动报错解决
  • Python 潮流周刊#126:新一代静态网站生成器
  • 第二章数据预处理:公式Python代码完成
  • 《代码大全 2》观后感(七):代码重构 —— 让代码 “永葆青春”
  • 深入解析:MySQL 存储引擎深度解析:InnoDB 架构与配置优化指南