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 equal to { 1, ..., p-1 }. For example, the consecutive powers of 3 modulo 7 are 3, 2, 6, 4, 5, 1, and thus 3 is a primitive root modulo 7. 
Write a program which given any odd prime 3 <= p < 65536 outputs the number of primitive roots modulo p. 

Input

Each line of the input contains an odd prime numbers p. Input is terminated by the end-of-file seperator.

Output

For each p, print a single number that gives the number of primitive roots in a single line.

Sample Input

23
31
79

Sample Output

10
8
24

Source

 #include<iostream>
using namespace std;
int euler(int a){
int i=;
int ans=a;
if(a%==){
//cout<<2<<endl;
ans=ans/i*(i-);
while(a%==){
a/=;
}
}
for(i=;i<=a;i+=){//优化
if(a%i==){
//cout<<i<<endl;
ans=ans/i*(i-);
while(a%i==){
a/=i;
}
}
}
return ans;
}
int main()//23, 28, and 33
{
int p;
while(cin>>p){
cout<<euler(p-)<<endl;
}
return ;
}

最新文章

  1. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
  2. sdk 简单说明文档草稿。
  3. Spring MVC学习笔记——注解式控制器
  4. 一步一步搭建 OAuth 认证服务器
  5. Socket规划(1)
  6. [原创] linux 下上传 datapoint数据到yeelink 【golang版本】
  7. Linux对于录音
  8. jQuary学习の一の初期准备
  9. UE4物理动画使用
  10. Uart串口
  11. npm install xxx --save-dev 与npm install xxx --save 的区别
  12. 007.基于Docker的Etcd分布式部署
  13. Android Studio 使用过程遇到的坑
  14. FTP和TCP的文件传输效率对比测试分析
  15. Linux说明书 - man浅谈
  16. 【Unity】2.1 初识Unity编辑器
  17. 资源在Windows编程中的应用
  18. Jaxb2实现JavaBean与xml互转的方法详解
  19. PyQt5教程——对话框(6)
  20. Mac下搭建svn服务器和XCode配置svn

热门文章

  1. Mathcad操作tips:函数、符号计算
  2. elk日志分析平台安装
  3. Mysql 索引原理《一》索引原理与慢查询1
  4. numpy数组 拼接
  5. Logstash 性能及其替代方案
  6. 修复已损坏的交换机IMG
  7. css3里面的-webkit-transition
  8. Web App三年将取代原生App?
  9. 使用vue+webpack从零搭建项目
  10. 调试K3网页版需要注意的问题