r语言用递归计算前n个数的和与积

Python015

r语言用递归计算前n个数的和与积,第1张

求和: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)  }

1、使用一个数组来存储丑数。

2、建立递推关系式。

3、最小的丑数为1,对于任意丑数x,2x,3x,5x也都是丑数,每次生成最小的一位丑数然后记录到数组,直到生成第n小的丑数时返回。

4、生成最小丑数存入数组,并将维护指针增加。丑数是指不能被2,3,5以外的其他素数整除的数。