最大公约数之递归解法

原创 2013年12月04日 19:40:31
/*
 * 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,g;

	if (b==0)
		g=a;
	else
		g=gcd(b,a%b);
	return g;
}


运行结果:

体会心得:好累啊,怎么还是千里之外,加油ing~~~~

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

求最大公约数(欧几里得算法尾递归版)+N皇后算法(位运算版)

求最大公约数(欧几里得算法尾递归版)+N皇后算法(位运算版) 求最大公约数思路:沿用欧几里得算法直接出最简洁代码,数学证明重点在于gcd(a, b) =  gcd(b, amodb)上。 /* ...

【递归】求最大公约数(函数)

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

欧几里得算法求最大公约数的递归和非递归实现

在数学中,欧几里得算法,又称辗转相除法,是求最大公约数(greatest common divisor)的算法。辗转相除法首次出现于欧几里得的《几何原本》(第VII卷,命题i和ii)中,而在中国则可以...

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

(一)采用“辗转相除法+介质交换法”#include int Max(int a,int b);//最大公约数函数的声明 int main() { printf("*******欢迎进入**...

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

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

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

一、从2开始一直到两个数中最大的一个进行取余运算 代码: package com.im;import java.util.Scanner;public class Demo59 {public s...

编程之美-2.7最大公约数问题java解法

编程之美-最大公约数问题java解法 包括五种方法,最后有一个判断奇偶数的方法isEven(); package code.beauty.fungame; public clas...

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

写一个程序,求两个正整数的最大公约数(Greatest Common Divisor,GCD)。如果两个整数都很大,有什么简单的算法吗?     (问题及思路来自于《编程之美》2.7节) 1. 辗...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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