51nod-1135:原根
输入1个质数P(3 <= P <= 10^9)
输出P最小的原根。
3
2
阶:设a模m的阶为k,则k满足a^k%m==1,且k最小
φ(m)(m的欧拉函数):在[1,m)的区间内有多少个数与m互质
题解:
因为这题的p为质数,所以φ(p)==p-1,那么这题就是要找到最小的a使得a^(p-1)%p==1,且对于所有的k∈[0,p-1)都
不满足a^k%p等于1,(根据费马小定理,对于所有的正整数a,a^(p-1)%p==1一定成立)
方法就是枚举a,对于每一个a判断是否满足条件,可k的范围特别的大,枚举k不实际,那怎么办?其实我们只需要
枚举p-1的因数即可,只要p-1的所有因数都满足其不是a的阶,p-1即是a的阶
#include<stdio.h>
int Pow(long long a, long long b, int mod);
int main(void)
{int n, i, j, k, yz[32000];scanf("%d", &n);k = 0;for(i=2;i*i<=n-1;i++){if((n-1)%i==0)yz[++k] = i;}for(i=2;i<=n-1;i++){for(j=1;j<=k;j++){if(Pow(i, yz[j], n)==1 || Pow(i, (n-1)/yz[j], n)==1)break;}if(j==k+1){printf("%d\n", i);break;}}return 0;
}int Pow(long long a, long long b, int mod)
{long long ans;ans = 1;while(b){if(b%2==0)a = a*a%mod, b /= 2;elseans = ans*a%mod, b--;}return ans;
}
51nod-1135:原根相关推荐
- 51nod 1135 原根(求素数最小原根)
题目链接: 51nod 1135 原根 题意: 求素数p的最小原根. #include <stdio.h> #include <algorithm> #include < ...
- (数论)51NOD 1135 原根
设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根.(其中φ(m)表示m的欧拉函数) 给出1个质数P,找出P最小的原根. Input 输入1个质数P(3 <= P < ...
- 原根(扩展欧几里得+欧拉函数)
1135 原根 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根.(其中φ(m)表示m的欧拉函数) ...
- 51nod 基础题题解(全)
基础题(40): 1000 A + B 1005 大数加法 1006 最长公共子序列Lcs 1018 排序 1019 逆序数 1027 大数乘法 1046 A^B Mod C 1057 N的阶乘(大数 ...
- Primitive root
高大上的数论,先入门再说. 原根的定义可以到wiki上找,上面介绍得很清楚. 如果你是个热(bu)爱(dong)祖(ying)国(yu)的人,看这个blog就行了 1.51nod 1135 奇怪的oj ...
- 离散对数和原根 欧拉定理证明
http://www.cppblog.com/luyulaile/archive/2012/04/11/170855.aspx 欧拉定理证明 && 欧拉公式 源地址: http://w ...
- 原根(详解+代码实现+例题+快速求解一个数的原根)
1.原根定义 假设一个数g对于P来说是原根,那么g^i mod P的结果两两不同,且有 1<g<P, 1<i<P,那么g可以称为是P的一个原根 简单来说,g^i mod p ≠ ...
- 原根-快速求解一个数的原根
1.原根定义 假设一个数g对于P来说是原根,那么g^i mod P的结果两两不同,且有 1<g<P, 1<i<P,那么g可以称为是P的一个原根 简单来说,g^i mod p ≠ ...
- 51nod 1617 奇偶数组
传送门 回来看一眼51nod,发现自己掉到rank4了,赶紧切道题回rank3. 一眼不会做,这种东西应该慢慢找规律吧--然后看到数据范围其实比较小,应该是单次log的,那是不是可以分治啊. #inc ...
最新文章
- sqlserver用sql语句创建链接服务器
- 基于SSM实现的奶茶店会员管理系统
- php无限极分类实例,PHP实例:PHP无限极分类
- Matlab篇(二)MATLAB中addpath的用法 (转)
- 浅谈WeakHashMap
- es6语法-对象拓展运算符
- 魏武帝 太祖知不可匡正,遂不复献言
- womic网络错误_wo mic 电脑版下载-WO Mic Client下载 3.4 最新电脑版 - 河东下载站
- snmp使用默认团体名_CactiEZ 中文版snmp默认团体名
- app软件测试经验分享
- MySQL业务账号需要哪些权限_MySQL 日常运维业务账号权限的控制
- Docker的中央仓库
- FC-AE-ASM节点卡(支持 FC-AE-ASM 协议)
- Android WebView字体放大
- python自动抢单_【Python成长之路】基于sikuli jar包,实现淘宝自动抢单功能(1)...
- Win10 1809美化
- 虚拟机服务器怎么安装驱动程序不正常怎么办,虚拟机安装不上虚拟网络驱动怎么处理...
- AutoJs学习-实现文件浏览器
- 使用计算机网络可以提高计算机运行速度,如何提高计算机运行速度
- 北海兴业:投研能力已成为理财公司谋求差异化发展的重要环节
热门文章
- python工资高还是java-Python和Java哪个工资高
- 为何python不好找工作-为什么说Python不好找工作?原因在这里!
- python自动化测试-Python自动化测试入门,看这一篇就足以
- linux下docker部署redis
- NIO流程记录(非源码,单reacter单线程)
- 打docker镜像_分分钟搞定阿里云私有Docke镜像仓库的搭建
- python入门实践19章_求助贴,python编程才能够入门到实践 第19章 19.2.2 代码出错
- bootstrap 悬浮固定_开箱测评|悬浮歌词蓝牙音箱,视听享受!
- 利用itext包实现java报表打印_利用iText包实现Java报表打印
- el-input点击事件