迭代法求最大公约数

原创 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;
}

相关文章推荐

迭代法求两数最大公约数(函数)

上机内容:C++程序的编写和运行 上机目的:掌握简单C++程序的编辑、编译、连接和运行的一般过程 我的程序:/* Copyright (c) 2013, 烟台大学计算机学院 * All ...

迭代法 详解 ,最大公约数和最小公倍数

迭代法(iteration)也称辗转法,是一种不断用变量的旧值递推出新值的解决问题的方法,迭代算法一般用于数值计算。累加,累乘都是迭代算法的基础应用。 利用迭代法解题的步骤: 1)确定迭代模型 ...

算法1.1 最大公约数(欧几里得)&判定素数&计算平方根(牛顿迭代法)

最近在看Robert Sedgewick和Kevin Wayne的《算法》,顺便学学Java,边看边查资料总结一些有用的东西 欧几里得算法:求最大公约数判定素数牛顿迭代法:计算平...

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

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

第十三周项目4-递归法求两数最大公约数

/* *程序的版权和版本声明部分: *Copyright(c)2013,烟台大学计算机学院学生 ...

筛法求素数,欧几里得算法求最大公约数

这是我的第一篇技术博客,写的很浅,相信我会慢慢变强。 首先是欧几里得算法求最大公约数。 主要用到了辗转相除法,先用大的数除以小的数,得到余数,然后再用除数除以余数,再得余数……直到余数为0时,最后一步...

C语言求最大公约数

  • 2014年10月19日 08:55
  • 165B
  • 下载

二分法和牛顿迭代法求平方根(Python实现)

原文地址 求一个数的平方根函数sqrt(int num) ,在大多数语言中都提供实现。那么要求一个数的平方根,是怎么实现的呢? 实际上求平方根的算法方法主要有两种:二分法(binary...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:迭代法求最大公约数
举报原因:
原因补充:

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