c++计算最大公约数
来源:互联网 发布:2017怎么开手机淘宝店 编辑:程序博客网 时间:2024/06/05 19:25
C++计算最大公约数(辗转相除法)
标签: c++算法
2012-04-13 15:54 10930人阅读 评论(0)收藏举报
分类:
版权声明:本文为博主原创文章,未经博主允许不得转载。
典型例题:
一.辗转相除法
例1 。求两个正数8251和6105的最大公因数。
(分析:辗转相除→余数为零→得到结果)
解:8251=6105×1+2146
显然8251与6105的最大公因数也必是2146的因数,同样6105与2146的公因数也必是8251的因数,所以8251与6105的最大公因数也是6105与2146的最大公因数。
6105=2146×2+1813
2146=1813×1+333
1813=333×5+148
333=148×2+37
148=37×4+0
则37为8251与6105的最大公因数。
以上我们求最大公因数的方法就是辗转相除法。也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。
1. 为什么用这个算法能得到两个数的最大公因数?
利用辗转相除法求最大公因数的步骤如下:
第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r0;
第二步:若r0=0,则n为m,n的最大公因数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1;
第三步:若r1=0,则r1为m,n的最大公因数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2;
……
依次计算直至rn=0,此时所得到的rn-1即为所求的最大公因数。
练习:利用辗转相除法求两数4081与20723的最大公因数。
2。辗转相除法包含重复操作的步骤,因此我们可用__循环_______结构来构造算法,
利用辗转相除法求最大公因数的步骤:
0 0
- C语言计算最大公约数
- C语言计算 最大公约数
- 计算最大公约数
- 最大公约数计算
- 计算最大公约数
- 最大公约数计算
- C语言计算两个正整数的最大公约数与最大公倍数
- 用c语言实现 计算两个数的最大公约数
- C最大公约数
- c++(最大公约数)
- 计算最大公约数的算法
- 最大公约数 & 最小公倍数 计算
- 计算最大公约数--调用函数
- 函数版计算最大公约数
- 最小公倍数和最大公约数计算
- c++计算最大公约数
- 最大公约数的计算____C++
- 计算最大公约数方法一
- Unicode 字符集与它的编码方式
- RelativeLayout常用属性介绍
- tomcat搭建 https双向认证
- 一个32岁入门的70后程序员给我的启示(转)
- NOIP2008P4 立体图 题解
- c++计算最大公约数
- 作为Java程序员这些都不知道那就真的OUT了!
- vmware下虚拟机centos 桥接上网
- 重建二叉树
- POJ-2201 Cartesian Tree(笛卡尔树)
- 如何加快C++代码的编译速度
- IEEE802.11数据帧在Linux上的抓取
- XPath与lxml_4功能函数
- 最长公共子序列问题 LCS