首页 > 代码库 > POJ 1284 Primitive Roots 原根
POJ 1284 Primitive Roots 原根
题目来源:POJ 1284 Primitive Roots
#include <cstdio> const int maxn = 70000; int phi[maxn]; void phi_table(int n) { for(int i = 2; i <= n; i++) phi[i] = 0; phi[1] = 1; for(int i = 2; i <= n; i++) if(!phi[i]) for(int j = i; j <= n; j += i) { if(!phi[j]) phi[j] = j; phi[j] = phi[j] / i * (i-1); } } int main() { phi_table(65536); int n; while(scanf("%d", &n) != EOF) { printf("%d\n", phi[n-1]); } return 0; }
题意:求奇素数的原根数
思路:一个数n是奇素数才有原根 原根数是n-1的欧拉函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。