PHP简单实现欧拉函数Euler功能示例

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP简单实现欧拉函数Euler功能。分享给大家供大家参考,具体如下:

欧拉函数ph(n)的意思是所有小于n且与n互质的个数

比如说ph(10) = 4{1,3,7,9与10互质}

代码如下:

<?php
function Euler($x)
{
  $res = $x;
  $now = 2;
  while ($x > 1) {
    if ($x % $now == 0) {
      $res /= $now;
      $res *= ($now - 1);
      while ($x % $now == 0) {
        $x /= $now;
      }
    }
    $now++;
  }
  return $res;
}
$res = Euler(10);
var_dump($res);
?>

运行结果:

int(4)

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php实现在新浪云中使用imagick生成缩略图并上传的方法

本文实例讲述了php实现在新浪云中使用imagick生成缩略图并上传的方法。分享给大家供大家参考,具体如下: imagick是一款php的图像处理插件了我们可以使用imagick来进行许...

php中类和对象:静态属性、静态方法

在PHP中,使用关键字 static 修饰成员属性和成员方法被称为静态属性和静态方法。静态属性和静态方法不需要在类被实例化的情况下可以直接使用。 静态属性 与普通的成员属性不同,静态属性...

Laravel与CI框架中截取字符串函数

Laravel: function limit($value, $limit = 100, $end = '...') { if (mb_strwidth($value, 'UT...

thinkphp在低版本Nginx 下支持PATHINFO的方法分享

最近在用thinkphp做一个项目,基本完成后部署到nginx服务器上才发觉nginx是不支持pathinfo的那么我们如何来处理呢。 Nginx环境 在Nginx低版本中,是不支持PA...

PHP源码之explode使用说明

当我们需要将一个数组根据某个字符或字串进行分割成数组的时候,explode用的很happy,但是你知道~explode是怎么工作的么~~ 首先可以肯定的是,explode也是会分配空间的...