R语言 请编写函数计算n的阶乘

Python015

R语言 请编写函数计算n的阶乘,第1张

function factorial(n){ return n >1 ? n * factorial(n-1) : 1}factorial(5)//120 以上函数可以求简单的n的阶乘 由于使用的是原生的乘法,所以计算范围有限主要使用了递归的方式进行计算,是求阶乘的常用方法之一

求和:f<-function(x) {

if(x==1)  1                

else     x+f(x-1)  }

或者尾递归:ff<-function(x,m=0){

if(x == 0)  m     

else    ff(x-1,m+x)  }

求阶乘:g<-function(x) {

if(x ==1) 1                     

else   x*g(x-1)  }

或者尾递归:gg<-function(x,acc=1){

if(x ==1) acc                       

else   gg(x-1,acc*x)  }

在r中看函数源代码: 在R中,代码可以分为如下几个级别: 首先,是你输入了函数对象名称,你可以直接看到代码的,如要获得函数对象fivenum的代码,就只需要在Console中键入函数对象名称fivenum就可以得到如下结果: function (x, na.rm = TRUE) ...