51nod 1135 原根
来源:互联网 发布:pjw哈希算法 编辑:程序博客网 时间:2024/05/21 16:56
1135 原根
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1135
设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根。(其中φ(m)表示m的欧拉函数)
给出1个质数P,找出P最小的原根。
Input
输入1个质数P(3 <= P <= 10^9)
Output
输出P最小的原根。
Input示例
3
Output示例
2
题解:阶:gcd(a,m)=1,使得a^r=1(mod m)成立的最小的 r,称为 a 对 模m 的 阶。
φ(m):在[1,m)的区间内与m互质的数的个数。
因为p为素数,所以φ(p)=p-1, 这题就是要找最小的a使得 a^(p-1)%p = 1 成立(根据费马小定理,该式一定成立),
先求p-1所有不同的 质因子 p1,p2…pm,
对任何整数 a ∈[1,p-1], 检验 a 是否为 p 的原根,
检验方法:a^((p-1)/p1),a^((p-1)/p2),...a^((p-1)/pm) 中是否存在一个 模p 等于 1 ,
存在的话 a 就不是 模p 的一个原根(即p-1就不是a对模p的阶),否则a就为原根。
0 0
- 51nod 1135 原根
- 51nod 1135 原根
- 【51nod 1135 原根】
- 51nod-1135:原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51 Nod 1135 原根
- 51 NOD 1135 原根
- 51nod 1135原根
- 51Nod 1135 原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51Nod-1135-原根
- 51nod 1135 原根
- 51Nod 1135 原根
- 51Nod-1135-原根
- Kali 安装完成心得
- 批量处理
- java1.7集合源码赏析系列:线程池原理
- 设计模式之单例模式学习笔记
- Linux的TUN/TAP编程
- 51nod 1135 原根
- Unity行为树插件Behavior Designer学习笔记(一)
- 解析器模式解析
- 第十四周 OJ总结<3>--进制转换(十进制转二进制)
- HDU 2424 Gary's Calculator 模拟 + 高精度
- 第14周 oj 1 数组逆序
- 欢迎使用CSDN-markdown编辑器
- ECIF系统 校验一户多号是否成功
- Bootstrap FileInput多文件上传插件使用详解(包括Java代码)