很多站长朋友们都不太清楚php阶乘递归算法,今天小编就来给大家整理php阶乘递归算法,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP 如何递归算法 2、 急!用php 递归法求n的阶乘 3、 阶乘n的递归算法是什么? 4、 怎么用递归函数算阶乘? PHP 如何递归算法一般来说,类似这种遍历输出所有文件,大多采用递归算法,这样程序显得比较简洁,其实际执行效率来说,并不见得比其他方法更好。
以下是示例:
function file_list($path)
{
if ($handle = opendir($path))//打开路径成功
{
while (false !== ($file = readdir($handle)))//循环读取目录中的文件名并赋值给$file
{
if ($file != "." $file != "..")//排除当前路径和前一路径
{
if (is_dir($path."/".$file))
{
// echo $path.": ".$file."<br>";//去掉此行显示的是所有的非目录文件
file_list($path."/".$file);
}
else
{
echo $path.": ".$file."<br>";
}
}
}
}
}
急!用php 递归法求n的阶乘<?php
function f($n)
{
$out = -1;
if($n<0)
echo "输入不能是负数";
else if($n==0||$n==1)
$out=1;
else $out=f($n-1)*$n;
return $out;
}
echo f(6);
?>
阶乘n的递归算法是什么?思路:递归求阶乘函数,如果输入的参数等于1则返回1,否则返回n乘以该函数下次递归。
参考代码:
#include<stdio.h>
int fun(int n)
{
if(n==1||n==0) return 1;//如果参数是0或者1返回1
return n*fun(n-1);//否则返回n和下次递归的积
}
int main()
{
int n;
scanf("%d",n);
printf("%d\n",fun(n));
return 0;
}
/*
5
120
*/
【递归算法的原理】
递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写
递归能使程序变得简洁和清晰。
怎么用递归函数算阶乘?代码如下:
vim test.sh
#!/bin/bash
read -p "Num:" num #read 函数读取手动输入一个数值
result=1 #首先定义一个变量值为1
for i in `seq $num` #i在num 中从小到大依次取值
do
result=$[ $result * $i ]
done
echo "The result is: $result"
扩展资料
递归函数的作用和循环的方法效果一样,即递归函数本质上是一个方法的循环调用,注意:有可能会出现死循环。因此,使用递归函数时,一定要定义递归的边界(即什么时候退出循环)。
来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:
fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n
所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理。
于是,fact(n)用递归的方式写出来就是:
def fact(n):
if n==1: return 1
return n * fact(n - 1)
参考资料来源:
百度百科——递归函数
关于php阶乘递归算法的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php阶乘递归算法 php递归阶乘求和的详细内容...