求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
用内部类实现,就当做复习内部类了。
代码:
#include <iostream>
using namespace std;
class Solution{
public:
class Sum{
public:
Sum(){
++_n;
_sum+=_n;
}
static void Reset(){
_n = 0;
_sum = 0;
}
static int Getsum(){
return _sum;
}
};
int Sum_Solution(int n){
Sum::Reset();
Sum* p = new Sum[n];
delete[] p;
p = NULL;
return Sum::Getsum();
}
private:
static int _n;
static int _sum;
};
int Solution::_n= 0;
int Solution::_sum = 0;
int main()
{
int n = 5;
Solution s1;
cout<<s1.Sum_Solution(n)<<endl;
return 0;
}