题目简述
今天在牛客网上做到这样一道题,让求1+2+3+…n,但是不能用到循环,if,switch case等判断语句,问该怎么做?
思路
最基本的方法肯定是循环,那么寻找与循环相对应的,那就是递归,而递归总会判断n处于最开端的状态,考虑使用&&逻辑判断语句的短路操作来执行类似if的效果:
还有另外一种做法:使用TMP,即template元编程,但这样需要在编译时就确定好待求的变量
or
最早的递归可以在运行时再传n值。
今天在牛客网上做到这样一道题,让求1+2+3+…n,但是不能用到循环,if,switch case等判断语句,问该怎么做?
最基本的方法肯定是循环,那么寻找与循环相对应的,那就是递归,而递归总会判断n处于最开端的状态,考虑使用&&逻辑判断语句的短路操作来执行类似if的效果:
还有另外一种做法:使用TMP,即template元编程,但这样需要在编译时就确定好待求的变量
or
最早的递归可以在运行时再传n值。