本篇文章主要给大家介绍实现一个PHP类来计算整数的阶乘。

推荐参考学习:《PHP教程》

首先大家简单了解一下什么是阶乘?

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。

简单的说,比如6的阶乘就是6!=1*2*3*4*5*6

那么我们如何实现PHP类来计算整数的阶乘?

实现代码如下:<?php

class factorial_of_a_number

{

protected $_n;

public function __construct($n)

{

if (!is_int($n))

{

throw new InvalidArgumentException('Not a number or missing argument');

}

$this->_n = $n;

}

public function result()

{

$factorial = 1;

for ($i = 1; $i <= $this->_n; $i++)

{

$factorial *= $i;

}

return $factorial;

}

}

$newfactorial = New factorial_of_a_number(5);

echo $newfactorial->result();

?>

上述代码就是计算出5的阶乘,输出结果为120。

相关函数介绍:

is_int()函数检测变量是否是整数。

__construct() 函数创建一个新的 SimpleXMLElement 对象。PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

我们可以用一个逻辑图来表示:

本篇文章就关于实现一个PHP类计算整数阶乘的方法介绍,具有一定的参考价值,希望对需要的朋友有所帮助!

php怎么求阶乘_如何实现一个PHP类来计算整数的阶乘?(代码详解)相关推荐

  1. js 条码枪扫描_使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解

    下面通过实例代码给大家介绍js扫码枪扫描条形码的实现方法,具体代码如下所示: var keycode = ""; var lastTime=null,nextTime; var l ...

  2. C语言编程:求水仙花数。输入一个正整数n,计算n位水仙花数。

    /*求水仙花数.输入一个正整数n,计算n位水仙花数.*/ #include<stdio.h> //编译预处理命令int mypow (int x, int n); //声明自己的幂函数in ...

  3. 编写一个JSP程序Jiecheng.jsp,计算整数的阶乘,并显示出结果。

    编写一个JSP程序Jiecheng.jsp,计算整数的阶乘,并显示出结果. 要求先声明计算阶乘的方法,再调用该方法,最后在页面上输出结果. 通过表单提交一个正整数,然后计算它的阶乘. 参考代码: ...

  4. 简单跑酷java代码_如何实现一个简单的跑酷游戏?(代码详解)

    本篇文章给大家带来的内容是介绍如何实现一个简单的跑酷游戏?(代码详解).有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 采用的物理引擎是:Phaser.js 官网地址:http:// ...

  5. sgd 参数 详解_代码笔记--PC-DARTS代码详解

    DARTS是可微分网络架构搜搜索,PC-DARTS是DARTS的拓展,通过部分通道连接的方法在网络搜索过程中减少计算时间的内存占用.接下来将会结合论文和开源代码来详细介绍PC-DARTS. 1 总体框 ...

  6. java 委托机制_通过反射实现Java下的委托机制代码详解

    简述 一直对Java没有现成的委托机制耿耿于怀,所幸最近有点时间,用反射写了一个简单的委托模块,以供参考. 模块API public Class Delegater()//空参构造,该类管理委托实例并 ...

  7. java委托机制教程_通过反射实现Java下的委托机制代码详解

    简述 一直对java没有现成的委托机制耿耿于怀,所幸最近有点时间,用反射写了一个简单的委托模块,以供参考. 模块api public class delegater()//空参构造,该类管理委托实例并 ...

  8. python split函数 空格_最易懂的Python新手教程:从基础语法到代码详解

    导读:本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 作者:罗攀 蒋仟 如需转载请联系华章科技 本文涉及的主要知识点如下: P ...

  9. java一个方法排他调用_Java编程实现排他锁代码详解

    一 .前言 某年某月某天,同事说需要一个文件排他锁功能,需求如下: (1)写操作是排他属性 (2)适用于同一进程的多线程/也适用于多进程的排他操作 (3)容错性:获得锁的进程若Crash,不影响到后续 ...

最新文章

  1. rommon模式下给路由器灌入IOS
  2. 带有互感线圈的基本串并联问题
  3. Windows窗口风格
  4. sudoers配置文件详解
  5. Java对存储过程的调用方法
  6. 实战应对三种因素引起的交换故障
  7. 成为Web开发大师你必须知道的7件事情
  8. 函数和常用模块【day04】:函数参数及调用(二)
  9. 0709-To Lower Case(转换成小写字母)
  10. MATLAB工具箱介绍
  11. REVERSE-PRACTICE-BUUCTF-7
  12. 计算机论文的的格式,计算机论文格式模板.doc
  13. [翻译]禅与文件和文件夹组织的艺术 上
  14. 李纪为:初入NLP领域的一些小建议
  15. 怪物猎人online 日服 注册流程(原创)
  16. Jmeter在Linux下的运行测试
  17. 基于R语言地理加权回归、主成分分析、判别分析等空间异质性数据分析
  18. 中国新能源汽车产业销售模式与十四五竞争格局展望报告2022版
  19. redspider无法启动,并行配置不正确
  20. Docker FreeIPA

热门文章

  1. 净利下降7成、新业务“扛大旗” 阿里转型更需耐心
  2. 鸿星尔克与钉钉签署专属音视频合作 全国5千家门店均可接入
  3. 安卓阵营最强Soc!骁龙898即将亮相:小米12系列本月底前后首发
  4. 投行称在三季度所产iPhone中 iPhone 13将超过35%
  5. “你在哪里上班?”“呵呵呵!”
  6. 2020年假期结束!支付宝发布国庆中秋黄金周报告:出行人次、购买力惊人!
  7. 3位黑洞发现者获2020年诺贝尔物理学奖
  8. 特斯拉股价周五收盘下跌7.38% 此前公布第三季度交付量创新高
  9. B站举办2019年度UP主颁奖:破圈、多元、跨界成全年关键词
  10. 卢伟冰:越是入门机 越应该把使用体验做好