http://poj.org/problem?id=1284

原根

题意:对于奇素数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 <stdio.h>
#include <iostream>
#include <map>
#include <set>
#include <stack>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
#include <stdlib.h>
#include <algorithm>
#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<maxn; j++){flag[prime[j]*i] = 1;if(i%prime[j] == 0)phi[i*prime[j]] = phi[i] * prime[j];elsephi[i*prime[j]] = phi[i] * (prime[j]-1);}}
}
int p;
int main()
{init();while(scanf("%d",&p) != EOF){printf("%d\n",phi[p-1]);}return 0;
}

poj 1284 Primitive Roots(原根+欧拉函数)相关推荐

  1. POJ - 1284 Primitive Roots(原根+欧拉函数)

    题目链接:点击查看 题目大意:给出一个模数 p ,求 p 有多少个原根 题目分析:算是补充了一个知识点吧,模数 p 的原根个数为 p[ p[ n ] ] ,p 为欧拉函数 证明博客:https://b ...

  2. Poj 1284 Primitive Roots

    文章目录 Description 题意: 题解: 代码: Poj 1284 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 648 ...

  3. poj 3090 amp;amp; poj 2478(法雷级数,欧拉函数)

    http://poj.org/problem?id=3090 法雷级数 法雷级数的递推公式非常easy:f[1] = 2; f[i] = f[i-1]+phi[i]. 该题是法雷级数的变形吧,答案是2 ...

  4. POJ - 2480 Longge's problem(欧拉函数+唯一分解定理)

    题目链接:点击查看 题目大意:给出一个n,求 题目分析:因为N到了二的三十二次方,所以直接暴力肯定会T,这里介绍两种方法,都可以做实现这个题目 首先我们需要转化一下这个题目,先说一下优化过后的暴力枚举 ...

  5. Relatives POJ - 2407(不打表的欧拉函数 单求)

    Relatives POJ - 2407 题目链接:https://vjudge.net/problem/POJ-2407#author=0 题目: 给定n是一个正整数,有多少正整数小于n是n的相对素 ...

  6. POJ 2480 (约数+欧拉函数)

    题目链接: http://poj.org/problem?id=2480 题目大意:求Σgcd(i,n). 解题思路: 如果i与n互质,gcd(i,n)=1,且总和=欧拉函数phi(n). 如果i与n ...

  7. poj1284:欧拉函数+原根

    何为原根?由费马小定理可知 如果a于p互质 则有a^(p-1)≡1(mod p)对于任意的a是不是一定要到p-1次幂才会出现上述情况呢?显然不是,当第一次出现a^k≡1(mod p)时, 记为ep(a ...

  8. 原根(扩展欧几里得+欧拉函数)

    1135 原根 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 设m是正整数,a是整数,若a模m的阶等于φ(m),则称a为模m的一个原根.(其中φ(m)表示m的欧拉函数) ...

  9. 数论 - 分解质因数+欧拉函数 - Relatives POJ - 2407

    数论 - 分解质因数+欧拉函数 文章目录 数论 - 分解质因数+欧拉函数 一.分解质因数 二.欧拉函数 三.模板: Relatives POJ - 2407 一.分解质因数 由 算 术 基 本 定 理 ...

最新文章

  1. 认识计算机ppt封面,认识计算机.ppt
  2. IE浏览器导出问题。。好要命
  3. 自定义验证规则ValidationAttribute的使用
  4. 第一百七十四天 how can i 坚持
  5. CCF201809-4 再卖菜(100分)【DFS】
  6. 【Leetcode 687】递归求最大相同路径
  7. networkComms 通信框架之 消息处理器
  8. JavaScript基本语法2
  9. win10无法装载iso文件_win10系统解决方案无法打开iso文件
  10. 武林传奇之七剑下天山java游戏开发商_武林传奇2之七剑下天山的配方
  11. 波兰计算机专业大学排名,波兰留学大学排名
  12. PX Deq Credit: send blkd 等待事件
  13. 做自媒体视频剪辑为什么赚不到钱?
  14. 概率论与数理统计:随机变量、分布律,分布函数,密度函数
  15. 基于51单片机篮球计分系统
  16. 【python pypy】pypy安装
  17. linux之/proc/cpuinfo详解
  18. python编辑word书签_小伙发现了Python中编写word文档的库,编辑文字方便多了
  19. OA系统以卓越管理助力数字校园建设
  20. 绿萝算法下网站站长如何建设外链

热门文章

  1. golang 包含 数组_golang 数组
  2. win10 Linux子系统 交叉编译器注意事项
  3. charles 安装 ssl_前端开发如何使用抓包工具 charles
  4. 【 FPGA 】寄存器输出的不稳定态
  5. 【 English 】与个人品质有关的英语词汇
  6. 对话功率谱与自相关函数
  7. 源码安装vsftp3.0.3
  8. 2017年云栖大会-云HBase专场会后资料-欢迎扩散
  9. 趋势科技4月移动client病毒报告
  10. Oracle中的备份和恢复之前必须知道的