题目描述

求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路: 1)使用构造函数的方法,需要使用static变量。
    2)虚函数原理
    3)利用函数指针原理
            4)短路原理,使用&&,||
 
 短路原理指的是a && b,如果a为0后面的b就不执行。
思路1:使用构造函数的方法。新建一个数组,比如new,那么会调用它的构造函数,只要在构造函数里面写一个+=的语句,就可以实现这个累加的功能。
思路2:使用短路原理,利用&&短路操作,这题限制使用if语句,那么递归基就没法判断,所以利用n && f(n - 1)进行判断,n为0的时候就返回0;
class Solution {
public:
int Sum_Solution(int n) {
int res = n;
res && (res += Sum_Solution(n - ));
return res;
}
};
 
 
class tmp{
public:
tmp(){
++num,sum += num;
}
static void reset(){
num = ;
sum = ;
}
static int getsum(){
return sum;
}
private:
static int num;
static int sum; };
int tmp::num = ;
int tmp::sum = ;
class Solution {
public:
int Sum_Solution(int n) {
tmp::reset();//因为是静态变量,内部使用循环测试,所以必须要清零
tmp* a = new tmp[n];
return tmp::getsum();
}
};
 

最新文章

  1. [LeetCode] Minimum Height Trees 最小高度树
  2. web系统登陆页面增加验证码
  3. EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(一)
  4. hibernate取出count(*)的办法
  5. ARP缓存记录种类动态条目和静态条目
  6. Sales Order Flow Statuses
  7. && 用法解释
  8. 每日一“酷”之bisect
  9. 2013年10月13日学习:SQL通过命令语句来创建表
  10. hdu 4499 Cannon(暴力)
  11. rpm命令数据库修复日志
  12. 调色板类QPalette——包含了Qt窗口不见的颜色组(collor group),和Windows右键属性外观非常类似
  13. oralce11g 注冊表卸载20140810
  14. java中多态的使用
  15. Spring中@Value标签的使用详解
  16. 利用GSEA对基因表达数据做富集分析
  17. Maven 的这 7 个问题你思考过没有?
  18. Linux内核线程kernel thread详解--Linux进程的管理与调度(十)
  19. ML.NET 示例:聚类之鸢尾花
  20. Go开发之路 -- Go语言基本语法 - 作业

热门文章

  1. Mysql与PostgreSql数据库学习笔记
  2. python pylab.plot() 方法使用
  3. 读书小记--<如何阅读一本书 >
  4. 再次配置caffe-windows vs2015+cuda10.0+RTX2070+python3.5
  5. ARM相关概念(学习目标、分类、商业模式及半导体公司、嵌入式处理器)
  6. 分布式事务 --- BASE 理论
  7. dfs(学姐的红包)
  8. Javascript中forEach的异步问题
  9. Shiro入门学习之散列算法与凭证配置(六)
  10. 火爆微信朋友圈的Excel速成班视频课程