• 求1+2+…+n变态问题的两个很棒的解法


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

    第一种方法:

     1 class Sum
     2 { 
     3 public: 
     4   Sum() 
     5   { 
     6          n++; 
     7          sum+=n;    
     8   } 
     9   void Result()
    10   {
    11     cout<<sum<<endl;
    12   }    
    13 private: 
    14   static int sum=0;   //类中的静态变量是属于类的,不属于某个对象!不能在定义对象时对变量初始化!
    15                 //不能用构造函数来初始化!而且使用时应加上类名,而不是对象。 
    16   static int n=0;  
    17  };
    18  
    19 int main() 
    20 {
    21     Sum *S = new Sum[100];
    22     S -> Result();
    23     delete S;
    24     return 0;
    25 }

    第二种方法:

     1 int Sum( int n )
     2 {
     3     int i = 1;
     4     ( n>1 ) && ( i = Sum( n-1 )+n );
     5     return i;
     6 }
  • 相关阅读:
    Xshell 跳板机快速登录脚本按钮
    (一)angularjs5 环境搭建
    Myeclipse 内存溢出解决方法
    php 代码放到服务器上验证码不好用
    表格里面的input在底部
    Smarty忽略大括号
    php富友表单提交接口对接
    php富友接口对接http请求
    js去掉html标签
    删除的时候提示是否删除
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2435137.html
Copyright © 2020-2023  润新知