题意:题意映射为求p-1的欧拉函数。
题目链接:http://poj.org/problem?id=1284
——>>直接求单个数的欧拉函数。
#include <cstdio>
#include <cmath>using namespace std;int main()
{int p, i;while(~scanf("%d", &p)){p--;int m = (int)sqrt(p+0.5), ans = p;for(i = 2; i <= m; i++) if(p % i == 0){ans = ans / i * (i-1);while(p % i == 0) p /= i;}if(p > 1) ans = ans / p * (p-1);printf("%d\n", ans);}return 0;
}