算法知识-数学

一.最大公约数

1.求解方式

辗转相除法

小的变成大的

大的%小的变成小的

优点:效率提高,log,级别的

cpp 复制代码
int Mygcd(int xiao, int da) {
	while (xiao != 0) {
		int tmp = da % xiao;
		da = xiao;
		xiao = tmp;
	}
	return (da);
}

二.最小公倍数

lcm(a,b)=a*b/gcd(a,b);

cpp 复制代码
int MyLcm(int a, int b) {
	return (a / Mygcd(a, b)) * b;
}

三.快速幂

cpp 复制代码
int qmi(int a, int b) {
	int res = 1;
	while (b) {
		if (b & 1)res = res * a;
		a = a * a;
		b /= 2;
	}
	return res;
}
相关推荐
JieE21214 小时前
LeetCode 226. 翻转二叉树|JS 递归超详细拆解,二叉树入门经典题
javascript·算法
JieE21215 小时前
LeetCode 104. 二叉树的最大深度|递归思路超详细拆解
javascript·算法
vivo互联网技术19 小时前
CVPR 2026 | 全新强化学习框架 BeautyGRPO:重塑真实人像
算法·大模型·cvpr·影像
Darling噜啦啦20 小时前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
用户497863050731 天前
(一)小红的数组操作
算法·编程语言
怕浪猫1 天前
Electron 系列文章封面图
算法·架构·前端框架
徐小夕1 天前
JitWord 3.0 正式发布,高精度Word异构解析+复杂组件兼容,打造web端协同Word编辑器
前端·vue.js·算法
通信小呆呆2 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人