常用数学公式

逐步更新:

皮克公式:

给定顶点均是整点(或正方形格点)的简单多边形,皮克定理说明了其面积S和内部格点a,边上格点数目b的关系:
S=a + b/2 -1;
(其中a表示多边形内部的点数,b表示多边形边界上的点数,S表示多边形
的面积)

 gcd与lcm:

复制代码
lcm(a,b)=a*b/gcd(a,b);
g(a,b)为最大公约数 因为a=gcd(a,b)*i; b=gcd(a,b)*j; 最小公倍数为gcd(a,b)*i*j
求gcd:
long long gcd(long long a,long long b)
{
if(b==0) return a;
return gcd(b,a%b);
}
复制代码

 扩展欧几里得算法:

二元一次方程整数解存在的条件:在整系数方程ax+by=c中,

若a,b的最大公约数能整除c,则方程有整数解。即

如果(a,b)|c 则方程ax+by=c有整数解

显然a,b互质时一定有整数解。

例如方程3x+5y=1,  5x-2y=7,  9x+3y=6都有整数解。

返过来也成立,方程9x+3y=10和 4x-2y=1都没有整数解,

∵(9,3)=3,而3不能整除10;(4,2)=2,而2不能整除1。

一般我们在正整数集合里研究公约数,(a,b)中的a,b实为它们的绝对值。

证明:例ax+by=c

证明很简单,由于a%gcd(a,b)==b%gcd(a,b)==0,所以a*x+b*y肯定能够整除gcd(a,b),如果线性方程成立,那么就可以用m代替a*x+b*y,从而得到上面的结论,利用上面的结论就可以用来判断一个线性方程是否有解。

复制代码
扩展欧几里德算法:扩展欧几里得算法(又称扩充欧几里得算法)是用来解某一类特定的不定方程的一种方法,常用用来求解模线性方程及方程组。扩展的欧几里得算法可以用来计算模逆元,而模逆元在公钥密码学中占有举足轻重的地位。[6-7]   
基本算法:对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。
证明:设 a>b。
1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=02,ab≠0 时
设 ax1+by1=gcd(a,b);
bx2+(a mod b)y2=gcd(b,a mod b);
根据朴素的欧几里德原理有 gcd(a,b)=gcd(b,a mod b);
则:ax1+by1=bx2+(a mod b)y2;
即:ax1+by1=bx2+(a-(a/b)*b)y2=ay2+bx2-(a/b)*by2;
根据恒等定理得:x1=y2; y1=x2-(a/b)*y2;
这样我们就得到了求解 x1,y1 的方法:x1,y1 的值基于 x2,y2.
上面的思想是以递归定义的,因为 gcd 不断的递归求解一定会有个时候 b=0,所以递归可以结束。[8] 
View Code
复制代码

floor函数与ceil函数 :

floor(x),有时候也写做Floor(x),其功能是“下取整”,或者说“向下舍入”,即取不大于x的最大整数,如x=3.14,floor(x)=3。       

ceil函数的作用是求不小于给定实数的最小整数。如ceil(2)=ceil(1.2)=cei(1.5)=2.00

使用该函数需要包含头文件<math.h>,该函数返回值为double型注意:据权威资料显示,floor函数与ceil函数的返回值均为double型

-------------------

同余:若若a==b(modk);//在这里的==指的是同余,=表示相等

即a-b=kt(t为整数)  ,同上原理若a (mod k)=b->a-b=kt (t为整数)。

费马小定理: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p)

posted @   人艰不拆_zmc  阅读(761)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示