首页 > 编程语言 >数学知识模板之欧几里得算法

数学知识模板之欧几里得算法

时间:2023-03-19 21:25:52浏览次数:35  
标签:return gcd int 欧几里得 exgcd 算法 数学知识 模板

欧几里得算法求最大公约数

int gcd(int a,int b)
{
	return b ? gcd(b,a % b) : a;
}

扩展欧几里得算法

// x,y是使x * a + y * b = d的一组解
int exgcd(int a,int b,int &x,int &y)
{
	if(!b)
	{
		x = 1,y = 0;
		return a;
	}
	int d = exgcd(b,a % b,y,x);
	y -= a / b * x;
	return d;
}

标签:return,gcd,int,欧几里得,exgcd,算法,数学知识,模板
From: https://www.cnblogs.com/zhiao/p/17234317.html

相关文章

  • 数学知识模板之试除法
    试除法判定质数boolis_prime(intx){ if(x<2)returnfalse; for(inti=2;i<=x/i;i++) if(x%i==0)returnfalse; returntrue;}试除法分解质因......
  • 数学知识模板之筛法求素数
    筛法求素数1.朴素筛法求素数intprimes[N],cnt;boolst[N];voidget_primes(intn){ for(inti=2;i<=n;i++) { if(st[i])continue; primes[cnt++]=......
  • 数学知识3.2-卡特兰数
    一、卡特兰数卡特兰数:\(C_{2n}^{n}-C_{2n}^{n+1}=\frac{C_{2n}^{n}}{n+1}\)。卡特兰数满足递推公式:设\(C_n=\frac{C_{2n}^{n}}{n+1}\),\(C_1=1\),\(C_n=C_{n-1}\frac{4n-2......
  • vSphere部署系列之10——虚拟机模板和规范
    vSphere部署系列之10——虚拟机模板和规范 原创Sunshyfangtian2016-09-0410:56:01博主文章分类:虚拟化©著作权文章标签模板虚拟化克隆文章分类WindowsServer服务器......
  • 模板约束介绍
    SFINE(substitutionfailureisnotanerror)在模板编程中,SFINE是比较常见的一种特性,举个例子【1】:template<typenameT,unsignedintN>std::size_tGetArrayLen(T(&)[N]){......
  • 线段树模板
    扫描线#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=4e5+10;intread(){ intx=0,f=1;charc=getchar(); while(c>'9'||c<'0')......
  • 普通树模板
    笛卡尔树#include<bits/stdc++.h>usingnamespacestd;constintN=1e7+10;intread(){ intx=0,f=1;charc=getchar(); while(c>'9'||c<'0'){if(c=='-')f=-1;c=ge......
  • C++模板特化,Concept,typename
    typenameT,表示T为类型,而不是变量那,T::A是什么?T可以是我们自己写的类,那T::A就是成员变量或成员函数,另外,T::A还可以是类型,T内定义的类型所以,编译器需要区分,T::A到底是什么......
  • 【FreeMarker模板引擎】5.freemarker结合Struts2使用
    上一篇讲解了Freemarker与Servlet的结合,这里我们讲解一下Freemarker与Struts2的结合。同样首先创建一个WebProject工程:将Struts2的相关核心jar包和F......
  • 【FreeMarker模板引擎】4.freemarker结合Servlet使用
    之前讲解了freemarker的基础知识和数据结构,以及freemarker的样例。下面我们将结合JavaWeb和其它框架来使用freemarker作为视图框架。一、Freemark......