求最大公约数

辗转相除法

#include <iostream>
using namespace std;
int main(void)
{
 int m,n,r;
 cin >> m >> n;
 if(m<n)
 {r=m; m=n; n=r;}
 do
 {
 r=m%n;
 if(r!=0)
 {m=n; n=r;}
 }while(r!=0);
 cout << n << endl;
 return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基本概念 因数 :若A=m×n,则称m,n是A的因数;A是m,n的倍数 一个数的最大因数和最小倍数都...
    AQ王浩阅读 6,523评论 0 4
  • 求最大公约数有三种方式 暴力穷举法 辗转相除法 更相减损术 暴力穷举法 暴力穷举法的思路:从两个数之间找最小的数,...
    zxcvbnmzsedr阅读 11,445评论 2 9
  • 辗转相除法, 又名欧几里德算法(Euclidean algorithm)乃求两个正整数之最大公因子的算法。它是已知...
    静_谷阅读 13,113评论 0 0
  • 求最小公倍数 有两种方法 (1)分解质因数法 先把两个数用其质因数的乘积表示出来如:求45和30的最小公倍数45 ...
    敬轩大大阅读 4,533评论 1 0
  • 作为一个数学很渣的人,我表示学习算法真是有点困难,虽然万事开头难,我还是迈出了第一步,以后我尽量保证一天跟新一个算...
    coder_那一抹刚吹过的风阅读 3,907评论 0 0

友情链接更多精彩内容