最近在看面试题时,发现有一道这样的题目:用递归的方式求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;
}
}