51nod 1135 原根 (数论)】的更多相关文章

题目链接 建议与上一篇欧拉函数介绍结合食用. 知识点:1.阶:a和模m互质,使a^d≡1(mod m)成立的最小正整数d称为a对模m的阶(指数)   例如: 2^2≡1(mod3),2对模3的阶为2; 2^3≡1(mod7),2对模7的阶为3;2.欧拉函数φ(m):在[1,m)的区间内与m互质的数的个数.可见前一篇blog3.设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根. 求模素数p的原根a的方法: 对质数 p, φ(p) = p-1, 这题就是要找最小的a使得 a^…
题目链接:51nod 1135 原根 设 m 是正整数,a是整数,若a模m的阶等于φ(m),则称 a 为 模m的一个原根.(其中φ(m)表示m的欧拉函数) 阶:gcd(a,m)=1,使得成立的最小的 r,称为 a 对 模m 的 阶. φ(m):在[1,m)的区间内与m互质的数的个数. 求模素数p的原根a的方法: 因为p为素数,所以φ(p)=p-1, 这题就是要找最小的a使得 a^(p-1)%p = 1 成立(根据费马小定理,该式一定成立), 先求p-1所有不同的 质因子 p1,p2-pm, 对任…
设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解:使用快速幂的时候小心int爆了. #include <stdio.h> #include <math.h> #include <string.h> #define CLR(x)…
题意 题目链接 Sol 可以证明素数的原根不会超过他的\(\frac{1}{4}\) 那么预处理出\(P - 1\)的所有的质因数\(p_1, p_2 \dots p_k\),暴力判断一下,如果$\exists i, a^{\frac{P - 1}{p_i}} \equiv 1 \pmod {P - 1} $ 那么说明\(a\)不是\(P\)的原根,因为根据原根的定义,需要保证\(P-1\)是第一个满足\(a^{P - 1} \equiv 1 \pmod {P - 1}\)的数 #include…
%%% dalao Orz ,筛素数到sqrt(n),分解ϕ(p),依次枚举判断就好了 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cmath> #define N 100000 #define LL long long using namespace std; LL prime[100010],tot,cnt,p[10001…
1135 原根  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 设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 AC代码 就是找到最小的数x,使 #include <stdio.h> #include &l…
[题意]给定p,求p的原根g.3<=p<=10^9. [算法]数学 [题解]p-1= p1^a1 * p2^a2 * pk^ak,g是p的原根当且仅当对于所有的pi满足g^[ (p-1)/pi ] ≠ 1 (%p) g一般很小,暴力求. #include<cstdio> #include<cmath> using namespace std; ],tot; int power(int x,int k){ ; while(k){ )ans=1ll*ans*x%p; x=1…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010 1010 只包含因子2 3 5 基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 >= 给定数的最小的数. 例如:n = 13,S中 >= 13的最小的数是15,…
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 设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 /* 求素数的最小原根. 由定理a^i==1(mod)时(i<p) 当且仅当i==p-1 成立 则a为p的原根. 把p-1质因数分解,…
题目链接: 约数和 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 有三个下标从1到n的数组a.b.c. a数组初始全为0. b[i]=∑j|ia[j] c[i]=∑j|ib[j] 需要进行下列操作: 1 x y :将a[x]加上y 2 x :询问当前c[x]的值   j | i 表示j是i的约数.               Input   第一行两个整数,n和q,分别表示数组下标范围和操作次数.(1<=n,q<=1,000,000) 接下来q行,描述一个操作.(x随机,1…