博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1284 Primitive Roots(原根+欧拉函数)
阅读量:6938 次
发布时间:2019-06-27

本文共 787 字,大约阅读时间需要 2 分钟。

题意:对于奇素数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是随意正整数。它所含原根的个数是phi[phi[m]],由于phi[m]=m-1,所以答案是phi[m-1]。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long long#define _LL __int64#define eps 1e-12#define PI acos(-1.0)using namespace std;const int maxn = 65540;int flag[maxn];int prime[maxn];int phi[maxn];void init(){ memset(flag,0,sizeof(flag)); phi[1] = 1; prime[0] = 0; for(int i = 2; i < maxn; i++) { if(flag[i] == 0) { phi[i] = i-1; prime[++prime[0]] = i; } for(int j = 1; j <= prime[0]&&prime[j]*i

转载地址:http://svfnl.baihongyu.com/

你可能感兴趣的文章
ipad 如何将iphone应用程序运行在ipad中。
查看>>
JavaScript与C# Windows应用程序交互
查看>>
面试题11:数值的整数次方
查看>>
tar.gz 和tar.bz2 详细解释
查看>>
Silverlight实现对Sql Server Profiler的SQL实时监控
查看>>
变长参数列表函数
查看>>
你知道输出结果么?
查看>>
CI批量更新$this->db->update_batch();
查看>>
USB学习笔记连载(十六):USB数字签名
查看>>
android 自定义AlertDialog(一段)
查看>>
Git - 操作指南
查看>>
jstorm简介(转)
查看>>
Spark&Hadoop:scala编写spark任务jar包,运行无法识别main函数,怎么办?
查看>>
Kafka Java API操作topic
查看>>
Starting vsftpd for vsftpd: [FAILED]问题的解决
查看>>
tomcat 使用log4j进行日志切割
查看>>
Python之关于量化投资实现代码--根据策略提出的代码--还未完善
查看>>
动手解决困扰自己的事情——记屏蔽网页广告
查看>>
mvn -DskipTests和-Dmaven.test.skip=true区别
查看>>
代码保存、配色、公布-总体方案----一段代码的公布
查看>>