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的主要内容,如果未能解决你的问题,请参考以下文章

WriteProcessMemory() 错误 998

由于系统错误代码 998,无法加载 Instantclient_12_1 ODBC 驱动程序中 Oracle 的设置例程

CodeForces 998B Cutting(贪心)

NYOJ 2356: 哈希计划模拟

nyoj-0708-ones

NYOJ 2356 哈希计划(模拟)