做基网站外贸seo
剑指Offer系列基本结束了啦~~
感谢y总 打卡钱悉数返回
算是白嫖 haha 手动滑稽
【题目描述】
AcWing 84. 求1+2+…+n
递归+ 前n项和公式
【思路】
根据前n项和公式,sum = (1 + n) *n / 2,涉及到乘除法,转除法为位运算,乘法为加法。
class Solution {long ans = 0;public void pow(int fact, int cnt, long _ans){if( cnt == 0){ans = _ans;return;}pow(fact, cnt - 1, _ans + fact);}public int getSum(int n) {pow((1 + n), n, 0);return (int)(ans >> 1);}
}
递归
递归前n项和直接求解
class Solution {public int getSum(int n) {if( n == 0) return 0;return n + getSum(n - 1);}
}