题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路:一般题目这样要求就是要用位运算。。这里利用短路的特点。n==0时,res&(Sum_Solution(n-1))只执行前面的,作为递归出口
int Sum_Solution(int n) { int res=n; res &&(res+=Sum_Solution(n-1)); return res; }
本文共 304 字,大约阅读时间需要 1 分钟。
题目:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路:一般题目这样要求就是要用位运算。。这里利用短路的特点。n==0时,res&(Sum_Solution(n-1))只执行前面的,作为递归出口
int Sum_Solution(int n) { int res=n; res &&(res+=Sum_Solution(n-1)); return res; }
转载于:https://www.cnblogs.com/team42/p/6691774.html