CF284A Cows and Primitive Roots】的更多相关文章

嘟嘟嘟 这道题就是求一个奇素数\(p\)的原根数量. 公式是\(\varphi(\varphi(p))\).又因为\(p\)是质数,所以就是\(\varphi(p - 1)\). (证明啥的我不会--) #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #include<cstring> #include<cstdlib> #include&…
Primitive Roots   Description We say that integer x, 0 < x < n, is a primitive root modulo n if and only if the minimum positive integer y which makes x y = 1 (mod n) true is φ(n) .Here φ(n) is an arithmetic function that counts the totatives of n,…
题目来源:POJ 1284 Primitive Roots 题意:求奇素数的原根数 思路:一个数n是奇素数才有原根 原根数是n-1的欧拉函数 #include <cstdio> const int maxn = 70000; int phi[maxn]; void phi_table(int n) { for(int i = 2; i <= n; i++) phi[i] = 0; phi[1] = 1; for(int i = 2; i <= n; i++) if(!phi[i])…
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5709 Accepted: 3261 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set (ximodp)∣1≤i≤p−1{ (x_i mod p) | 1 \leq i \leq…
Primitive Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2479   Accepted: 1385 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 } is eq…
Primitive Roots http://poj.org/problem?id=1284 Time Limit: 1000MS   Memory Limit: 10000K       Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 } is equal…
Primitive Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4775   Accepted: 2827 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 } is eq…
题目传送门 Primitive Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5434   Accepted: 3072 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 }…
Primitive Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3155   Accepted: 1817 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 } is eq…
一.题目 We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (x i mod p) | 1 <= i <= p-1 } is equal to { 1, ..., p-1 }. For example, the consecutive powers of 3 modulo 7 are 3, 2, 6, 4, 5, 1, and thus…
Primitive Roots 题目链接:id=1284">http://poj.org/problem?id=1284 利用定理:素数 P 的原根的个数为euler(p - 1) typedef long long ll; using namespace std; /* 求原根 g^d ≡ 1(mod p) 当中d最小为p-1.g 便是一个原根 复杂度:O(m)*log(P-1)(m为p-1的质因子个数) */ ll euler(ll x) { ll res = x; for (ll i…
Primitive Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3381   Accepted: 1980 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 } is eq…
Primitive Roots Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 3928   Accepted: 2342 Description We say that integer x, 0 < x < p, is a primitive root modulo odd prime p if and only if the set { (xi mod p) | 1 <= i <= p-1 } is eq…
题目:http://poj.org/problem?id=1284 题意:就是求一个奇素数有多少个原根 分析: 使得方程a^x=1(mod m)成立的最小正整数x是φ(m),则称a是m的一个原根 然后有这样的定理: 1.所有奇素数都有原根 2.如果一个数n有原根,那么原根个数为φ(φ(n)) 由性质2就可知道,对于此题的奇素数n,结果就是φ(n-1)…
http://poj.org/problem?id=1284 题意:求一个素数p的原根个数.(p<=65535) #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #include <iostream> using namespace std; const int lim=65535, N=70005; int p[N], pcnt, np[…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4992 题意:给出n,输出n的所有原根. 思路:求出n的一个原根x,那么对于所以的i,i<phi(n)且(i,phi(n))=1,x^i%n都是n的原根. int Euler(int n) { int i,ans=n; for(i=2;i*i<=n;i++) if(n%i==0) { ans=ans/i*(i-1); while(n%i==0) n/=i; } if(n>1) ans=ans/…
从来没有接触过完全剩余系,不会证明,知道看了别人的题解才知道要用欧拉函数: 下面是证明过程: p是奇素数,如果{xi%p | 1 <= i <= p - 1} = {1,2,...,p-1},则称x是p的原根. 给出一个p,问它的原根有多少个. {xi%p | 1 <= i <= p - 1} = {1,2,...,p-1} 等价于 {xi%(p-1) | 1 <= i <= p - 1} = {0,1,2,...,p-2},即为(p-1)的完全剩余系 若x,x2...…
题目描述: 题意: 定义原根:对于一个整数x,0<x<p,是一个mod p下的原根,当且仅当集合{ (xi mod p) | 1 <= i <= p-1 } 等于{ 1, ..., p-1 }.给定p,询问有多少个满足定义的原根. 这里有一个定理:如果p有原根,则它恰有φ(φ(p))个不同的原根 证明不懂就算了,我也不懂啊TAT 证明如下 题目中说m是奇素数,所以φ(p)=p-1,故ans=φ(p-1). 代码如下: #include<cstdio> #include&…
/* * POJ_2407.cpp * * Created on: 2013年11月19日 * Author: Administrator */ #include <iostream> #include <cstdio> #include <cstring> using namespace std; typedef long long ll; const int maxn = 1000015; bool u[maxn]; ll su[maxn]; ll num; ll…
<题目链接> 题目大意: 满足{ ( $x^{i}$ mod p) | 1 <=$i$ <= p-1 } == { 1, …, p-1 }的x称为模p的原根.给出p,求原根个数. 解题分析: 题意就是让我们求原根的个数,原根的个数为$φ(φ(p))$. 证明如下:    转载于 >>> 因为本题p为素数,所以$φ(p)$为p-1. #include <cstdio> #define N int(1e5) int euler[N]; void init(…
[题目大意] 给你一个素数n,求n的原根个数. [题解] 关于原根有一个定理: 定理:如果模有原根,那么它一共有个原根. 所以这题就是求phi[phi[n]] 很简单吧...(如果知道这个定理的话) /************** POJ 1284 by chty 2016.11.10 **************/ #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring>…
http://poj.org/problem?id=1284 给一个奇质数p,求p的原根数量. 有一个结论:当正整数n存在原根时,其一共有phi(phi(n))个不同余的原根. 所以答案为phi(p-1). #include<algorithm> #include<iostream> #include<cstring> #include<cctype> #include<cstdio> #include<cmath> #include…
http://poj.org/problem?id=1284 fr=aladdin">原根 题意:对于奇素数p,假设存在一个x(1<x<p),(x^i)%p两两不同(0<i<p),且解集等于{1,2....,p-1}. 称x是p的一个原根. 输入p问p的原根有多少个. 直接枚举的,TLE了. 看到discuss里面说是求原根.答案直接是phi[p-1].百度百科上直接就给出答案了.m有原根的充要条件是m= 1,2,4,p,2p,p^n,当中p是奇素数,n是随意正整数…
题目链接:http://poj.org/problem?id=1284 题目描述: 题目大意: 一个质数原根的个数 题解: 结论题 一个数n的原根的个数等于$\varphi(\varphi(n))$ #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<cmath> using namespace std; +; int p,tot;…
模板题,可用于求一个数的所有原根. #include<bits/stdc++.h> using namespace std; typedef long long ll; ,inf=0x3f3f3f3f; int n,fac[N],nf; vector<int> ans; int Pow(int x,int p,int mod) { ; ,x=(ll)x*x%mod))ret=(ll)ret*x%mod; return ret; } int phi(int x) { int ret=…
题目链接 大题流程: 判定是否有原根->求出最小原根->利用最小原根找出全部原根 #include<bits/stdc++.h> using namespace std; typedef long long LL; ; ]; ]; ]; int num_prime; void init() { memset(check, false, sizeof(check)); phi[]=; ; i<=maxn; i++) { if(!check[i]) { prime[num_pri…
题意:求奇质数 P 的原根个数.若 x 是 P 的原根,那么 x^k (k=1~p-1) 模 P 为1~p-1,且互不相同. (3≤ P<65536) 解法:有费马小定理:若 p 是质数,x^(p-1)=1 (mod p).这和求原根有一定联系. 再顺便提一下欧拉定理:若 a,n 互质,那么 a^Φ(n)=1(mod n).    还有一个推论:若x = y(mod φ(n) 且 a与n 互质,则有 a^x=a^y(mod n). 百度百科是这么说的:"原根,归根到底就是 x^(p-1)=…
A. Cows and Primitive Roots 暴力. B. Cows and Poker Game 模拟. C. Cows and Sequence 线段树维护. D. Cow Program 除1的位置\(a_x\)都是固定的,也就说当前位置\(x\)最终的位置也是确定的. 只要判断最后\(x\)超出范围,或者在环中,或者走回1这三种情况. 当前信息需要记录位置\(x\)以及方向\(d\),判断状态是否在环中可以使用时间戳,若在环中,显然时间戳应该是一样的. E. Coin Trou…
A. Cows and Primitive Roots 暴力. B. Cows and Poker Game 模拟. C. Cows and Sequence 线段树维护. D. Cow Program 除1的位置\(a_x\)都是固定的,也就说当前位置\(x\)最终的位置也是确定的. 只要判断最后\(x\)超出范围,或者在环中,或者走回1这三种情况. 当前信息需要记录位置\(x\)以及方向\(d\),判断状态是否在环中可以使用时间戳,若在环中,显然时间戳应该是一样的. E. Coin Trou…
                                                  Primitive Roots 此题通过率如此之高,料想不会很难,但是再简单小菜还是不会.. 嗯,下周信安期末了,再次吐槽一下信安的课真多!这学期真正让我感兴趣的的也就是信安数学基础和线代了.因为信安前8章都是数论,学起来如鱼得水,正好趁着复习学一把数论.此题详见陈恭亮信安数学基础之原根. 题意:先给出原根的定义.若n为[3,65536]内的奇素数,求有多少个数是模n的原根. 解法:信安书上原根的…