迭代法求最大公约数

原创 2013年12月05日 12:20:39

/*
 * Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作    者: 崔俊

* 完成日期:2013 年12月5日
* 版 本 号:v1.0
* 问题描述:分别用非递归函数和递归函数,用辗转相除法求两个正整数a和b的
            最大公约数,并体会迭代法和递归法在处理问题上各自的思路。
* 样例输入:
* 样例输出:
* 问题分析:
*/
//迭代解法
#include "iostream"
using namespace std;
int gcd(int x, int y);
int main()
{
 int m,n;
 cout<<"输入两个自然数: ";
 cin>>m>>n;
 cout<<"最大公约数:";
 cout<<gcd(m,n)<<endl;
}


int gcd(int a, int b)
{
 int t,r;
 if (a < b)
  t=a,a=b,b=t; 
 while (b!= 0)  
 {
  r=a%b;
  a=b;
  b=r;
 }
 return a;
}

求最大公约数(迭代法)

* / * Copyright (c) 2011, 烟台大学计算机学院  * All rights reserved. * 作 者: 孙培培 * 完成日期:2012 年 10月12 日 * ...
  • sunpeipei220
  • sunpeipei220
  • 2012年11月25日 10:33
  • 1041

穷举法求最大公约数和最小公倍数

穷举法(也叫枚举法),穷举法求两个正整数的最大公约数的解题步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数 。①定义1:对两个正整数a,b如果能在区间[a...
  • johnWcheung
  • johnWcheung
  • 2017年05月31日 13:00
  • 1093

辗转相除法求最大公约数(C语言)

用辗转相除法求最大公约数 算法描述: m对n求余为a, 若a不等于0 则 m
  • leaf6094189
  • leaf6094189
  • 2011年05月25日 10:20
  • 21086

辗转相除法,相减法,穷举法求最大公约数

题目:从键盘输入两个整数,输出两个整数的最大公约数。用C或C++语言实现程序解决问题。 编辑人员:李林轩 时间:2017.3.20 程序算法 辗转相除法 有两整数a和b: 1.a%b得余数c 2.若...
  • li1198874812
  • li1198874812
  • 2017年03月21日 23:33
  • 968

C语言第七篇:辗转相除法求最大公约数

辗转相除法求最大公约数
  • qq_30866297
  • qq_30866297
  • 2016年03月24日 11:35
  • 4821

辗除法求最大公约数和最小公倍数

最近两天因为忙于工作的事,学习进展较慢。 今天看了一个辗除法求最大公约数的例子,上网查了一下其数学原理,算是理解了这个算法的数学依据。 对于两个正整数num1,num2,且num1>num2,如果nu...
  • jeffashan
  • jeffashan
  • 2014年11月29日 01:06
  • 1299

【51nod】1011 最大公约数GCD - 辗转相除法

1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 输入2个正整数A,B,求A...
  • ctsas
  • ctsas
  • 2016年12月09日 23:38
  • 334

c语言经典题算法1--用辗转相除法求两个数的最大公约数

题目: 用辗转相除法求两个数的最大公约数#define _CRT_SECURE_NO_WARNINGS #include #include int main() { int a, b,r; ...
  • tobe_numberone
  • tobe_numberone
  • 2017年08月13日 20:11
  • 383

求最大公约数(利用递归)

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. ...
  • zylmtz2012
  • zylmtz2012
  • 2012年11月25日 11:26
  • 6915

C++计算最大公约数(辗转相除法)

典型例题: 一.辗转相除法 例1 。求两个正数8251和6105的最大公因数。 (分析:辗转相除→余数为零→得到结果) 解:8251=6105×1+2146 显然8251与6105的最大公因...
  • THISISPAN
  • THISISPAN
  • 2012年04月13日 15:54
  • 22128
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:迭代法求最大公约数
举报原因:
原因补充:

(最多只允许输入30个字)