iOS面试题:用递归的方式求1-100的和

最近在看面试题时,发现有一道这样的题目:用递归的方式求1-100的和

我们平常写的是用for循环方式求和,代码如下:

// for循环方式求和
- (int)sum:(int)n{
    
    int sum = 0;
    for (int i=0; i<=n; i++) {
        sum = sum+i;
    }
    return sum;
}

递归方式求和。何谓递归?递归就是自己调用自己。

- (int)summation:(int)n{
    
    if (n==1) {
        return 1;
    }else{
        return [self summation:(n-1)] + n;
    }
}

你可能感兴趣的:(iOS面试题:用递归的方式求1-100的和)