【C++】GCD and LCM

我们来看到最大公因数(GCD)及最小公倍数(LCM)啦!

最大公因数顾名思义就是两数或多个数间共同有的因数

例如,2、4、8,的GCD是2,或6、12,的GCD是6。


学习目标: GCD、LCM的概念及实务

学习难度: ☆☆☆


我们来看它是怎麽被实现出来吧!

Recursion with GCD

#include <iostream>

using namespace std;

int GCD(int num1,int num2)
{
	if(num2==0)
	{
	 return num1;
	} 
	
	return GCD(num2,num1%num2);
}

int main()
{
	cout<<GCD(6,3); //2数最大公因数
    
    cout<<GCD((6,3),3); //3数最大公因数
	
	return 0;
}

最小公倍数是两个数或多个数最小共同有的倍数

例如,2、4、8,的LCM是8,或6、12,的LCM是12。

Recursion with LCM

#include <iostream>

using namespace std;

int GCD(int num1,int num2)
{
	if(num2==0)
	{
	 return num1;
	} 
	
	return GCD(num2,num1%num2);
}

int LCM(int num1,int num2) //2数最小公倍数
{
	return((num1*num2)/GCD(num1,num2));
}

int LCM2(int num1,int num2,int num3) //3数最小公倍数
{
	return((num1*num2)/GCD((num1,num2),num3));
}

int main()
{	
	cout<<LCM(6,3);
    
    cout<<LCM2(6,3,3);

	return 0;
}

参考资料:

https://dotblogs.com.tw/peterkyo/2014/05/22/145207


<<:  【C++】Binary Search Tree

>>:  【rails】新手如何建立 CRUD

30天不间断的文章之旅_参数的基本介绍

昨天讲了函式,那今天来讲讲参数吧! 那老样子若有错误或需要补充的地方,也欢迎在下方留言让我知道喔~~...

[NestJS 带你飞!] DAY11 - Middleware

什麽是 Middleware? Middleware 是一种执行於路由处理之前的函式,可以存取请求物...

[GAS] 启动配置档as.xcf设定详解

本篇主要在提供 as.xcf 内的一些设定点 (entry) 说明,提供设定时查找。至於哪一条目跟...

Day 11 : 案例分享(3.4) 会计模组-分析会计与资产折旧

案例说明及适用场景 会计科目与客户,一般常用的蒐寻,若还需其他统计效果,可以使用分析帐户或分析标签 ...

曝露系数(Exposure factor)

-简单的定量风险分析 曝露系数 (EF) 曝露系数 (EF) 是在实现特定威胁时对特定资产的主观、...