求1+2+…+n
要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句
View Code
1 #include <iostream> 2 using namespace std; 3 4 /*第一种方案*/ 5 int sum1(int n) 6 { 7 int temp=0; 8 n && (temp=sum1(n-1)); 9 return temp+n; 10 } 11 /* 第二种方案 */ 12 class A 13 { 14 public: 15 A() 16 { 17 N++; 18 sum+=N; 19 } 20 static int GetSum() 21 { 22 return sum; 23 } 24 private: 25 static int N; 26 static int sum; 27 }; 28 int A::N=0; 29 int A::sum=0; 30 int sum2() 31 { 32 A *p= new A[100]; 33 delete [] p; 34 return A::GetSum(); 35 } 36 37 int main() 38 { 39 //cout<<sum1(100); 40 cout<<sum2(); 41 return 0; 42 }