zoukankan      html  css  js  c++  java
  • 求1+2+…+n

    题目:求1+2+…+n,
    要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句。

    思路:利用类初始化时会自动调用构造函数可以完成,还有几种方法,以后再说。

     1 #include <iostream>
     2 #include <cassert>
     3 
     4 using namespace std;
     5 
     6 class SUM
     7 {
     8     private:
     9         static int N;
    10         static int Sum;
    11 
    12     public:
    13         SUM()
    14         {
    15             ++N;
    16             Sum += N;
    17         }
    18 
    19         static void Reset()
    20         {
    21             N = 0;
    22             Sum = 0;
    23         }
    24 
    25         static int GetSum()
    26         {
    27             return Sum;
    28         }
    29 };
    30 
    31 int SUM::N = 0;
    32 int SUM::Sum = 0;
    33 
    34 int main(void)
    35 {
    36 
    37     SUM::Reset ();
    38 
    39     SUM *a = new SUM[10];
    40 
    41     delete [] a;
    42 
    43     a = NULL;
    44 
    45     cout << SUM::GetSum () << endl;
    46 
    47     return (0);
    48 }

    测试结果:

  • 相关阅读:
    LIS
    原根
    数三角形
    组合数问题
    最短路问题
    2020总结
    树状数组
    康托展开
    LCA
    并查集
  • 原文地址:https://www.cnblogs.com/ldjhust/p/3054559.html
Copyright © 2011-2022 走看看