/************************
* 文件名:GongYueShu.cpp
* 功 能:计算两个数的最大公约数
* 作 者:若风恶魔
* 时 间:09/5/13
************************/
#include <iostream.h>
#define u32 unsigned int
u32 count(u32,u32);
int main(void)
{
u32 x,y,flag;//此两数用于接收输入的两个正整数
while(1)
{
cout<<"********************************************"<<endl;
cout<<"请选择功能号:1 退出程序,其它 计算公约数"<<endl;
cout<<"********************************************"<<endl;
cout<<"功能号:";
cin>>flag;
switch(flag)
{
case 1:
return 1;
default:
cout<<"请输入第两个数:"<<endl;
cin>>x>>y;
cout<<"x="<<x<<",y="<<y<<endl;
cout<<"x,y的最大公约数是:"<<count(x,y)<<endl;
break;
}
}
}
/************************
* 函数名:count
* 参 数:arg1:第一个数,arg2第二个数
* 功 能:计算两个数的最大公约数
* 作 者:若风恶魔
* 时 间:09/5/13
* 备 注:此函数用递归方法实现
************************/
u32 count(u32 arg1,u32 arg2)
{
u32 tem;
if(0==arg1%arg2)
return arg2; //递归函数出口
else
{
tem = arg2;
arg2 = arg1%arg2;
arg1 = tem;
count(arg1,arg2);//函数在此进行递归
}
}
分享到:
相关推荐
在计算机编程中,特别是在使用Python语言进行开发时,经常需要对两个数值进行最大公约数(GCD)和最小公倍数(LCM)的计算。最大公约数是指两个或多个整数共有约数中最大的一个,而最小公倍数是指能被两个或多个整数...
### 递归算法求两个数的最大公约数 #### 1. 递归方法解析 **递归算法**是一种解决问题的方法,其中函数通过调用自身来解决问题。递归算法的关键在于找到一个基本结束条件(base case),以及如何将问题分解成更小...
当b为0时,a即为两个数的最大公约数。 ### 分析给定的C++源代码 #### 主函数main() 在给定的C++代码中,首先引入了`iostream`头文件,用于输入输出操作。主函数`_tmain()`接收命令行参数,读入两个整数x和y,调用...
在计算机科学和编程领域,"求两数最大公约数"是一个基本的问题,它涉及到数论和算法设计。最大公约数(Greatest Common Divisor,GCD)也被称为最大公因数,是两个或多个非零整数共有约数中最大的一个。在数学上,...
这是我自己做的ppt,关于递归法求解两数最大公约数的
在Java编程语言中,求两个正整数的最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)是常见的算法问题,这对于理解和掌握基本的数学运算以及编程技巧至关重要。本文将详细介绍...
最大公约数的递归解法,这是一个cpp程序,运行正常,是求输入的2个数的最大公约数的递归算法
在C++中用函数递归调用的方法实现辗转相除法求两个整数的最大公因子。
System.out.println("两个数的最大公约数是: " + gcd(num1, num2)); System.out.println("两个数的最小公倍数是: " + lcm(num1, num2)); } } ``` 在这个程序中,`gcd`方法采用递归实现辗转相除法,而`lcm`方法则...
本主题将深入探讨如何使用C语言来计算两个整数的最大公约数(Greatest Common Divisor,GCD)。最大公约数是两个或多个非零整数共有的最大的正因子,它是数论中的基本概念,对于理解和处理数字关系至关重要。 辗转...
下面是一个用C++实现的欧几里得算法求两个数最大公约数的示例: ```cpp int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b); } ``` 接下来,我们要扩展这个函数,以计算n个数的最大公...
通过这些递归函数,我们可以高效地解决两个或多个数的最大公约数和最小公倍数问题。在实际应用中,为了提高效率和防止溢出,通常会采用迭代法或者更优化的算法,但递归实现对于理解概念和学习基础算法是非常有帮助的...
将此定理扩展到求n个数的最大公约数,我们可以先求出前两个数的最大公约数,然后将结果与第三个数用辗转相除法计算,以此类推,直至处理完所有数。例如,对于三个数a, b, c,最大公约数可以通过以下步骤得到: 1. ...
在IT领域,尤其是在编程与算法研究中,求解两个正整数的最大公约数(Greatest Common Divisor,简称GCD)是一项基础而重要的任务。本文将深入探讨如何使用Java语言来实现这一功能,并通过给定的代码片段进行分析,...
本文件"求大整数的最大公约数"是用C++语言编写的一个大整数类,专门用于计算两个大整数的最大公约数(Greatest Common Divisor, GCD)。 大整数类通常基于数组或链表结构来存储多位数,以适应任意长度的整数。在这...
一种常见的方法是首先找到前两个数的最大公约数,然后将结果与下一个数求最大公约数,依此类推。例如,如果我们有三个数a、b和c,那么最大公约数可以表示为GCD(GCD(a, b), c)。这个过程可以递归地进行,直到处理完...
在这个C++程序中,我们使用递归方法来求解两个整数的最大公约数和最小公倍数。 首先,我们要理解递归的概念。递归是一种函数或过程调用自身的技术,通常用于解决具有重复结构的问题。在这里,我们通过递归函数`GCD`...
这个例子中,`gcd_multiple`函数接收一个整数列表并返回它们的最大公约数,而`gcd`函数是求两个数最大公约数的递归实现。程序通过读取in.txt文件获取整数,然后计算最大公约数并写入out.txt文件。 了解了欧几里得...
分解质因数法是通过将两个数分别分解为质因数,然后找出它们共同的质因数并相乘得到最大公约数。例如,12 = 2×2×3,18 = 2×3×3,它们的最大公约数是2×3=6。这种方法在处理大数时效率较低,因为分解质因数的...