最大公约数之迭代解法.

原创 2013年12月04日 19:29:27
/*
 * Copyright (c) 2013, 烟台大学计算机学院
* All rights reserved.
* 作    者: 李家豪
* 完成日期:2013 年10月23日
* 版 本 号: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;
}


运行结果:

体会心得: 加油~~~

求两个数的最大公约数(普通方法和迭代法)

Java代码实现 以下为主程序 public static void main(String[] args) { // TODO 自动生成的方法存根 int m=24,n=60; /...
  • qq_34309663
  • qq_34309663
  • 2016年10月19日 10:31
  • 259

迭代和递归(Python)--乘方、最大公约数、汉诺塔、斐波那契、回文字符串

1.迭代 def iterPower(base,exp): result=1.0 while exp>0: result*=base exp-=1 ...
  • u013232740
  • u013232740
  • 2015年07月23日 15:24
  • 1184

计算最大公约数的两种算法

欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 其算法用C++语言描述为: int gc...
  • luyafei_89430
  • luyafei_89430
  • 2013年10月03日 08:45
  • 1650

最大公约数GCD的三种算法程序

这里给出使用欧几里得算法求最大公约数的递归和非递归的程序,同时给出穷举法求最大公约数的程序。 从计算时间上看,递推法计算速度最快。 程序中包含条件编译语句用于统计分析计算复杂度。 /* * 计算两个...
  • tigerisland45
  • tigerisland45
  • 2016年04月14日 14:57
  • 7304

用迭代和递归求两数的最大公约数(第十三周上机任务)

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. ...
  • fanlulu3017
  • fanlulu3017
  • 2012年11月24日 17:16
  • 819

迭代和递归(Python)--乘方、最大公约数、汉诺塔、斐波那契、回文字符串

1.迭代 def iterPower(base,exp): result=1.0 while exp>0: result*=base exp-=1 ...
  • u013232740
  • u013232740
  • 2015年07月23日 15:24
  • 1184

最大公约数与最小公倍数之三种解法

(一)采用“辗转相除法+介质交换法”#include int Max(int a,int b);//最大公约数函数的声明 int main() { printf("*******欢迎进入**...
  • Lucky_JP
  • Lucky_JP
  • 2017年03月19日 13:45
  • 154

最大公约数问题的优化解法

写一个程序,求两个正整数的最大公约数(Greatest Common Divisor,GCD)。如果两个整数都很大,有什么简单的算法吗?     (问题及思路来自于《编程之美》2.7节) 1. 辗...
  • why_still_confused
  • why_still_confused
  • 2016年07月23日 15:20
  • 603

最大公约数和最小公倍数及其应用(Go语言解法)

最大公约数(greatest common divisor) 欧几里得辗转相除法: gcd(x,y)表示x和y的最大公约数 进入运算时:x!=0,y!=0,本质上就是不断转换成求等价更小数的最大...
  • WAPWO
  • WAPWO
  • 2013年05月19日 08:44
  • 1341

最大公约数的基本解法和辗转相除法

一、从2开始一直到两个数中最大的一个进行取余运算 代码: package com.im;import java.util.Scanner;public class Demo59 {public s...
  • qq_22186183
  • qq_22186183
  • 2017年02月20日 16:16
  • 154
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最大公约数之迭代解法.
举报原因:
原因补充:

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