码迷,mamicode.com
首页 > 其他好文 > 详细

IT公司100题-12-求1+2+…+n

时间:2014-08-09 21:26:49      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   os   io   strong   for   

问题描述:

求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)。
 
分析:
利用类的静态变量实现:
new一含有n个这种类的数组,那么该类的构造函数将会被调用n次。
 
代码实现:
 1 // 12.cc
 2 #include <iostream>
 3 using namespace std;
 4 
 5 class Object {
 6 public:
 7     Object() {
 8         ++N;
 9         Sum += N;
10     }
11     static void reset() { N = 0; Sum = 0; }
12     static int get_sum() { return Sum; }
13 
14 private:
15     static int N;
16     static int Sum;
17 };
18 
19 int Object::N = 0;
20 int Object::Sum = 0;
21 
22 int sum(int n) {
23     Object::reset();
24 
25     Object* a = new Object[n];
26 
27     delete []a;
28     a = 0;
29 
30     return Object::get_sum();
31 }
32 
33 int main() {
34     int n = 10;
35     cout << "The sum is: " << sum(n) << endl;
36     return 0;
37 }

 

IT公司100题-12-求1+2+…+n,布布扣,bubuko.com

IT公司100题-12-求1+2+…+n

标签:style   blog   color   使用   os   io   strong   for   

原文地址:http://www.cnblogs.com/dracohan/p/3901558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!