算法知识-数学

一.最大公约数

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;
}
相关推荐
hahaha601612 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
不会就选b12 小时前
算法日常・每日刷题--<贪心>10
算法
南京兴帝文化传媒有限公司13 小时前
本地生活服务商户GEO优化技术实践:AI大模型收录机制与地图POI权重算法拆解
大数据·人工智能·算法·生活·geo优化实操·csdn运营技巧·ai内容收录
linx29513 小时前
单元九 · 零基础路线图-第 7–9 周·类与 RAII
c语言·开发语言·数据结构·c++·嵌入式硬件·算法
布莱克60513 小时前
C++ 七大排序算法详解:选择、冒泡、插入、计数、堆、快速与归并排序
数据结构·c++·算法·排序算法
shehuiyuelaiyuehao14 小时前
算法44,模拟算法,数青蛙
算法·哈希算法·散列表
hanlin0314 小时前
刷题笔记:力扣第287题-寻找重复数
笔记·算法·leetcode
kevin_kang15 小时前
第02章 对话时间线与延迟分析
算法
科学实验家15 小时前
最小生成树:Prim,kruskal
数据结构·c++·算法
学习智者15 小时前
《玄》IDE v3.6.3重磅发布:全功能修复与性能飞跃
开发语言·c++·ide·算法·中文语言 玄