如何在matlab中利用函数的递归调用求n!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在matlab中利用函数的递归调用求n!相关的知识,希望对你有一定的参考价值。

%可以这样写:

function F = nn(n)
    if n<=1                     %未做严密的输入参数检查,可自行完善,也可输入异常参数看看效果:)
        F = 1;
    else
        F = n * nn(n-1);    %递归调用
    end
end

%Matlab 2009 + Win7 32位 测试通过

%运行结果如下:

参考技术A function a=myfactorial(n)
if n==0
    a=1;
else
    a=n*myfactorial(n-1);
end

参考技术B function f=factor(n)
if n<=1
f=1;
else
f=factor(n-1)*n;
end
参考技术C 可以描述的详细一点吗? 参考技术D 不是有相应的命令么

2717: 递归函数求n的阶乘

2717: 递归函数求n的阶乘

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 1329  Solved: 942
[Submit][Status][Web Board]

Description

输入一个正整数n,利用递归函数求n的阶乘。

递归函数声明如下:

int  fac(int n);  //求n!的递归函数声明

Input

一个正整数n

Output

n的阶乘值

Sample Input

5

Sample Output

120

HINT

 

使用递归函数

#include<stdio.h>
int main()
{
    int fac(int n);
    int n,sum;
    scanf("%d",&n);
    sum=fac(n);
    printf("%d",sum);
}
int fac(int n)
{
    int sum;
    if(n==0||n==1)
        sum=1;
    else if(n>1)
        sum=n*fac(n-1);
    return sum;
}

  

以上是关于如何在matlab中利用函数的递归调用求n!的主要内容,如果未能解决你的问题,请参考以下文章

急!matlab怎么算如下递归问题!!

249 递归:概念,利用递归求1~n的阶乘,利用递归求斐波那契数列,利用递归遍历数据

matlab递归求解最长公共子序列(LCS)问题

利用递归函数求斐波那契值python版

java作业利用递归解决问题

C 递归 详解(通俗易懂)