【POJ1284】Primitive Roots 欧拉函数
题目描述:

题意:
定义原根:对于一个整数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<cstring>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std; int phi(int x)
{
int xx=x,ans=x;
for(int i=;i<=x;i++)
{
if(xx==) break;
if(xx%i!=) continue;
while(xx%i==) xx/=i;
ans=ans/i*(i-);
}
return ans;
} int main()
{
int a;
while(scanf("%d",&a)!=EOF)
{ int ans=phi(a-);
printf("%d\n",ans);
}
return ;
}
poj1284
2016-02-05 16:12:25
【POJ1284】Primitive Roots 欧拉函数的更多相关文章
- POJ1284 Primitive Roots [欧拉函数,原根]
		题目传送门 Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5434 Accepted: ... 
- (Relax 数论1.8)POJ 1284 Primitive Roots(欧拉函数的应用: 以n为模的本原根的个数phi(n-1))
		/* * POJ_2407.cpp * * Created on: 2013年11月19日 * Author: Administrator */ #include <iostream> # ... 
- POJ 1284 Primitive Roots (欧拉函数+原根)
		<题目链接> 题目大意: 满足{ ( $x^{i}$ mod p) | 1 <=$i$ <= p-1 } == { 1, …, p-1 }的x称为模p的原根.给出p,求原根个数 ... 
- poj1284 && caioj 1159 欧拉函数1:原根
		这道题不知道这个定理很难做出来. 除非暴力找规律. 我原本找的时候出了问题 暴力找出的从13及以上的答案就有问题了 因为13的12次方会溢出 那么该怎么做? 快速幂派上用场. 把前几个素数的答案找出来 ... 
- poj1284(欧拉函数+原根)
		题目链接:https://vjudge.net/problem/POJ-1284 题意:给定奇素数p,求x的个数,x为满足{(xi mod p)|1<=i<=p-1}={1,2,...,p ... 
- poj1284:欧拉函数+原根
		何为原根?由费马小定理可知 如果a于p互质 则有a^(p-1)≡1(mod p)对于任意的a是不是一定要到p-1次幂才会出现上述情况呢?显然不是,当第一次出现a^k≡1(mod p)时, 记为ep(a ... 
- hdu2588 GCD (欧拉函数)
		GCD 题意:输入N,M(2<=N<=1000000000, 1<=M<=N), 设1<=X<=N,求使gcd(X,N)>=M的X的个数. (文末有题) 知 ... 
- BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]
		2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2553 Solved: 1565[Submit][ ... 
- BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】
		2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 4436 Solved: 1957[Submit][Status][Discuss ... 
随机推荐
- Linux下搭建Oracle11g RAC(7)----安装Oracle 软件
			从此步骤开始,我们正式安装oracle软件: ① 以oracle用户登录图形界面,执行/home/oracle/database/runInstaller,进入OUI的图形安装界面: ② 进入OUI安 ... 
- win8 需要管理员权限才能删除此应用程序
			在win8系统里面 安装了 dotfuscator,安装在c盘,结果发现运行是提示需要有管理员权限,想重新删除后安装也不行,删除的时候提示也需要管理员权限,网上查了一下资料,windows自xp开始, ... 
- CentOS 6.7安装配置Cacti监控系统
			一.安装配置LAMP环境 yum -y install httpd php php-mysql php-snmp php-xml php-gd mysql mysql-server 启动http和my ... 
- CentOS 6.7平台nginx压力测试(ab/webbench)
			压力测试工具一:webbench 1.安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz tar zxvf w ... 
- 配置toad进行导入导出数据库操作
			最近需要对oracle进行导入导出操作,于是研究使用toad进行导入导出oracle数据库操作,现稍作记录. oracle的导入导出不管是否使用toad还是pl/sql工具进行操作,实际上最终都是通过 ... 
- c#不重复的排序方法
			public int getRandom(int num) { Thread.Sleep(5); // Random ro = new Random(unchecked((int)DateTime.N ... 
- sqlmap
			http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sqlmap这么一个url的时候,它会: 1.判断可注入的参数 2.判断可以用那种SQL注 ... 
- js 连续赋值
			无意中网上发现的这个问题,预想的结果和真实的结果大相径庭. var a={n:1} var b=a; a.x=a={n:2} console.log(a.x); console.log(b.x); u ... 
- css3遇到的一些属性
			rgba 是由red.green.blue 三种颜色搭配出来的box-shadow 向元素添加阴影层,水平阴影位置,垂直阴影位置,后面是可选:模糊距离,阴影大小,颜色,是否是 ... 
- WEB 开发工具分享
			有好用的工具 : 云盘链接地址: 
