问题描述
如果一个数 x(0< x< p),满足集合 {xi%p∣1≤i< p} 等价于集合 {1,⋯,p−1},则我们称 x 为质数 p 的一个原根。例如,假设 p 为 3,2 的各项幂对 3 取余的结果为 2,1,则 2 为质数 p 的一个原根。
现在已知一个质数 p,求质数 p 的原根个数。
输入格式
输入有多组数据,不超过100行。
每组数据输入一行,输入一个质数 p(3≤p≤100,000)。
输出格式
对于每组测试数据,输出一行,输出质数 p 的原根个数。
样例输入
11
13
17
样例输出
4
4
8
AC代码
#include <iostream>
using namespace std;
int euler(int n){
int res=n;