博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[学习笔记]数论(二)
阅读量:5163 次
发布时间:2019-06-13

本文共 1105 字,大约阅读时间需要 3 分钟。

中国剩余定理

求方程组$x\;\equiv\;a_i(mod\;m_i)(i\in[1,n])$的解$x$,其中$m_i$两两互质.

  • 一般版本

令$M_i=\prod_{j\not=i}m_j$,则$(M_i,m_i)=1$,所以存在$M_ix_i+m_iy_i=1$.

($x_i$为$M_i$在模$m_i$意义下的逆元)

令$e_i=M_ix_i$,则$e_i\equiv\begin{cases}0(mod\;m_j)&j\not=i\\1(mod\;m_j)&j=i\\\end{cases}$

所以$\sum_{i=1}^{n}e_ia_i$是方程的一个解.

在$[0,\prod_{i=1}^{n}m_i)$中只有唯一解,所以将求出的解对$\prod_{i=1}^{n}m_i$取模即可.

  • 闫神

记$q_{i,j}$表示$m_i$在模$m_j$意义下的逆元.

$x\equiv\sum_{i=1}^{n}(a_i\;\times\;\prod_{j=1}^{n}(m_j\;\times\;q_{j,i}))(mod\;\prod_{i=1}^{n}m_i)$

  • 不互质

若要合并$x\;\equiv\;a_i(mod\;m_i),x\;\equiv\;a_j(mod\;m_j)$,

设$x=k_im_i+a_i=k_jm_j+a_j$,则$k_im_i-k_jm_j=a_j-a_i$.

用$exgcd$求出$k_i$(注意无解的情况),把两个方程合并为$x\;\equiv\;k_im_i+a_i(mod\;lcm(m_i,m_j))$.

lucas定理

求$c_n^m\;mod\;p$.

将$n,m$写成$p$进制:$n=a_0p^0\;\times\;a_1p^1\;\times\;...\;\times\;a_kp^k,m=b_0p^0\;\times\;b_1p^1\;\times\;...\;\times\;b_kp^k.$

则$C_{n}^{m}\;\equiv\;\prod\;C_{a_i}^{b_i}(mod\;p)$.

所以$C_n^m\;\equiv\;C_{n\;mod\;p}^{m\;mod\;p}\;\times\;C_{n/p}^{m/p}$

斐波那契数列

$fib(n+m)=fib(n+1)\;\times\;fib(m)+fib(n)\;\times\;fib(m-1).$

$gcd(fib(i),fib(j))=fib(gcd(i,j))$.

转载于:https://www.cnblogs.com/AireenYe/p/6258754.html

你可能感兴趣的文章
ORACLE表空间详解
查看>>
BZOJ5190 Usaco2018 Jan Stamp Painting(动态规划)
查看>>
保留小数点三位
查看>>
JavaEE之注解
查看>>
飞机大战项目
查看>>
JZYZOJ1383 [usaco2003feb]impster 位运算 最短路
查看>>
poj_3627Bookshelf
查看>>
java输入输入流图解
查看>>
html5改良的input元素的种类
查看>>
python人脸识别开源库face_recognition
查看>>
【神经网络与深度学习】转-caffe安装吐血总结
查看>>
【VS开发】进程线程及堆栈关系的总结
查看>>
vue三、示例
查看>>
计算机网络资料 - 转
查看>>
string中substr,find函数使用
查看>>
前台后台数据的传递
查看>>
hive基本操作与应用
查看>>
Net基础篇_学习笔记_第十天_方法_方法的练习
查看>>
网站与域名知识扫盲
查看>>
angular自定义指令
查看>>