求和: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以外的其他素数整除的数。