当前位置: 首页 > news >正文

费马小定理详解

费马小定理

定义:

p 为素数,a 为整数,则 a p ≡ a ( m o d p ) a^p \equiv a\ (\mod p) apa (modp) ,若 p ∤ a p \nmid a pa ,则 a p − 1 ≡ 1 ( m o d p ) a^{p-1} \equiv 1\ (\mod p) ap11 (modp)

先证明若 p ∣ a p \mid a pa ,证明过程如下:
∵ p ∣ a a m o d p = 0 a p m o d p = 0 \because p \mid a \\ a\mod p=0 \\ a^p \mod p =0 paamodp=0apmodp=0
再证明当 p ∤ a p \nmid a pa 时:

创建集合 S = S= S={ x 1 , x 2 , x 3 , ⋯ , x p − 1 x_1,x_2,x_3,\cdots,x_{p-1} x1,x2,x3,,xp1} ,S为1,2,3, ⋯ \cdots ,p-1的一个 排列 a x 1 , a x 2 , a x 3 , ⋯ , a x p − 1 ax_1,ax_2,ax_3,\cdots,ax_{p-1} ax1,ax2,ax3,,axp1 ,任意两项模 p 不同余

∃ ∀ i , j , ╞ 1 ≤ i < j < p \exists\ \forall\ i,j,╞ 1\le i <j <p   i,j,╞1i<j<p ,使得 a x i ≡ a x j ( m o d p ) ax_i\ \equiv ax_j (\mod p) axi axj(modp)

p ∣ a ( x i − x j ) p\mid a(x_i-x_j) pa(xixj)

∵ p ∤ a , ∴ p ∣ ( x i − x j ) \because p \nmid a\ \ ,\therefore p\mid(x_i-x_j) pa  ,p(xixj)

∵ x i m o d p ≠ x j m o d p \because x_i \mod p \not= x_j\mod p ximodp=xjmodp

∴ 矛盾 \therefore 矛盾 矛盾

∀ k ∈ S , p ∤ S k \forall \ k \in S,p\ \nmid\ S_k  kS,p  Sk

∵ a x 1 m o d p , a x 2 m o d p , ⋯ , a x p − 1 m o d p \because ax_1\mod p,ax_2\mod p,\cdots,ax_{p-1}\mod p ax1modp,ax2modp,,axp1modp 为1,2,3, ⋯ \cdots ,p-1的一个排列(上文已提到)

∴ ( a x 1 ) ( a x 2 ) ( a x 3 ) ⋯ ( a x p − 1 ) ≡ x 1 ⋅ x 2 ⋅ x 3 ⋯ x p − 1 ( m o d p ) \therefore (ax_1)(ax_2)(ax_3)\cdots(ax_{p-1})\equiv x_1\cdot x_2\cdot x_3 \cdots x_{p-1} (\mod p) (ax1)(ax2)(ax3)(axp1)x1x2x3xp1(modp)
x 1 ⋅ x 2 ⋅ x 3 ⋯ x p − 1 = ( p − 1 ) ( p − 2 ) ( p − 3 ) ⋯ 2 ⋅ 1 = ( p − 1 ) ! x_1\cdot x_2 \cdot x_3 \cdots x_{p-1} \\ =(p-1)(p-2)(p-3)\cdots 2\cdot 1 \\ =(p-1)! x1x2x3xp1=(p1)(p2)(p3)21=(p1)!
∵ p ∤ ( p − 1 ) ! \because p\nmid(p-1)! p(p1)!

∴ a p − 1 ≡ 1 ( m o d p ) \therefore a^{p-1}\equiv 1 (\mod p) ap11(modp)

得证

http://www.lryc.cn/news/342818.html

相关文章:

  • PXE批量安装
  • stm32f103c8t6最小系统板
  • QCefView 在 Linux 下的编译(更新)
  • 无卤素产品是什么?有什么作用?
  • esp32-cam 1. 出厂固件编译与测试
  • 题目:线性代数
  • docker学习笔记3:VmWare CentOS7安装与静态ip配置
  • leetcode 547.省份数量
  • Qt5 框架学习及应用 — 对象树
  • Ansible自动化运维工具---Playbook
  • 什么是接口和类?Java中的集合框架有哪些主要接口和类?
  • 算法学习笔记(最短路——Bellman-Ford)
  • try-catch-finally的省略与springboot
  • 容器Docker:轻量级虚拟化技术解析
  • windows 系统中cuda 12.1 环境安装
  • 字节和旷视提出HiDiffusion,无需训练,只需要一行代码就可以提高 SD 生成图像的清晰度和生成速度。代码已开源。
  • linux下dd制作启动U盘
  • springboot整合mybatis配置多数据源(mysql/oracle)
  • 练习项目后端代码解析切面篇(Aspect)
  • TypeScript常见面试题第六节
  • LeetCode 面试经典150题 228.汇总区间
  • 大数据分析入门10分钟快速了解SQL
  • 设置多用户远程登录windows server服务器
  • 一文了解栈
  • C语言----汉诺塔问题
  • Python中驼峰命名法和下划线命名法相互转换的实战代码
  • 【hackmyvm】vivifytech靶机
  • 纯血鸿蒙APP实战开发——手写绘制及保存图片
  • 在什么情况下表单会被重复提交?如何避免?
  • JavaScript 中的 Class 类