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实现通过ftp上传文件

大概原理 遍历项目中的所有非排除文件,然后获取 文件修改时间晚于文件上一次修改时间 的文件 然后将这些文件,通过ftp上传到对应的目录 具体代码如下: 因为只是工具,代码很乱,见谅...

解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)

【详细错误】:由于出现错误 c00ce56e 而导致此项操作无法完成 【造成原因】:未指定输出编码格式。 【解决办法】:句首加入header("content-type:text/htm...

PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法

异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。 PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出...

ob_start(),ob_start('ob_gzhandler')使用

输出前使用尽量使用 ob_start();可以加快输出速度,适用NT 对unix类服务器 如果使用ob_start('ob_gzhandler');输出效率将更高...

在项目中寻找代码的坏命名

在项目中寻找代码的坏命名

常做的和常想的事情 晦涩的if条件 1)对于||的处理                   &...