NYOJ 998
Posted 逸阳
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NYOJ 998相关的知识,希望对你有一定的参考价值。
这道题是欧拉函数的使用,这里简要介绍下欧拉函数。
欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数。
欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pkak为正整数n的素数幂分解,那么φ(n) = n·(1-1/p1)·(1-1/p2)·(1-1/p3)···(1-1/pk)
2.如果n是质数,则φ(n) = n-1; 反之,如果p是一个正整数且满足φ(p)=p-1,那么p是素数。
3.设n是一个大于2 的正整数,则φ(n)是偶数
4.当n为奇数时,有φ(2n)=φ(n)
5.设m和n是互质的正整数,那么φ(mn)=φ(m)φ(n)
可以根据性质1,写出计算欧拉函数值的程序:
1 //直接求解欧拉函数 2 int euler(int n){ //返回euler(n) 3 int res=n; 4 for(int i=2;i*i<=n;i++){ 5 if(n%i==0){ 6 res=res/i*(i-1);//先进行除法是为了防止中间数据的溢出 7 while(n%i==0) n/=i; 8 } 9 } 10 if(n>1) res=res/n*(n-1); 11 return res; 12 }
以上是关于NYOJ 998的主要内容,如果未能解决你的问题,请参考以下文章
由于系统错误代码 998,无法加载 Instantclient_12_1 ODBC 驱动程序中 Oracle 的设置例程