【欧几里得算法】C++求解最大公因子:求解两个正整数的最大公因子

1. 算法描述:

欧几里得算法】求解两个正整数m,n的最大公因子

2. 算法求解步骤:

  • E1(求两个整数的余数):求两个正整数的余数,r = m % n
  • E2(判断余数是否为0):如果余数r为0,算法返回n;如果余数不为0,执行E3
  • E3(数值降低):令m = n,n = r,并进入E1

3. C++代码求解:

/*@author @还下着雨ZG
* @brief 求解两个正整数m,n的最大公因子
* @param[in] int m,第一个正整数
* @param[in] int n, 第二个正整数
* @return iRes,返回m和n的最大公因子
*/
int computeGstComDivisor(int m, int n)
{
	if(m <= 0 || n <=0)
	{
		return -1;
	}
	int ir = 0;
	while(1)
	{
		ir = m % n;
		if(ir == 0)
		{
			return n;
		}
		else
		{
			m = n;
			n = ir;
		}
	}
}

优化算法的运行效率:使得m > n

/*@author @还下着雨ZG
* @brief 求解两个正整数m,n的最大公因子
* @param[in] int m,第一个正整数
* @param[in] int n, 第二个正整数
* @return iRes,返回m和n的最大公因子
*/
int computeGstComDivisor(int m, int n)
{
	if(m <= 0 || n <=0)
	{
		return -1;
	}
	int ir = 0;
	if( m < n)
	{
		int iTmp = m;
		m = n;
		n = iTmp;
	}
	while(1)
	{
		ir = m % n;
		if(ir == 0)
		{
			return n;
		}
		else
		{
			m = n;
			n = ir;
		}
	}
}

相关推荐

  1. C语言求解公约数(算法应用)

    2024-07-12 03:08:02       29 阅读
  2. 算法---字符串因子

    2024-07-12 03:08:02       56 阅读
  3. 【数据结构和算法】字符串因子

    2024-07-12 03:08:02       52 阅读
  4. [leetcode] 1071. 字符串因子

    2024-07-12 03:08:02       32 阅读
  5. C#求公约数: 算法 vs 辗转相除法

    2024-07-12 03:08:02       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 03:08:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 03:08:02       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 03:08:02       58 阅读
  4. Python语言-面向对象

    2024-07-12 03:08:02       69 阅读

热门阅读

  1. C/C++开发,IniFile源码下载

    2024-07-12 03:08:02       19 阅读
  2. jQuery Mobile 安装指南

    2024-07-12 03:08:02       25 阅读
  3. centos ssh一键升级到9.8版本脚本

    2024-07-12 03:08:02       19 阅读
  4. Kotlin 中 is 关键字的作用与智能类型转换

    2024-07-12 03:08:02       21 阅读
  5. Promise

    2024-07-12 03:08:02       16 阅读
  6. asp .net core 避免请求body数据量过大

    2024-07-12 03:08:02       20 阅读
  7. 社交媒体数据分析:赋能企业营销策略的利器

    2024-07-12 03:08:02       19 阅读
  8. SpringSecurity中文文档(Servlet OAuth2)

    2024-07-12 03:08:02       24 阅读
  9. Docker核心知识手册

    2024-07-12 03:08:02       22 阅读
  10. Linux——测网速例子,在网站查看生成的图片

    2024-07-12 03:08:02       27 阅读
  11. 华为od-C卷200分题目6 - 5G 网络建设

    2024-07-12 03:08:02       22 阅读
  12. python(餐厅点餐系统)

    2024-07-12 03:08:02       24 阅读
  13. 【数理统计】2-随机变量及其概率分布

    2024-07-12 03:08:02       21 阅读
  14. python在区块链领域中的应用

    2024-07-12 03:08:02       17 阅读