题目要求:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路:递归,位运算,可以通过&&代替if条件判断
解:从n递归加至1,判断条件为n>0
int Sum_Solution(int n) {
int sum = n;
bool ans = (n>0)&&((sum+=Sum_Solution(n-1))>0); //通过&&充当if语句,递归
return sum;
}
题目要求:求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。
思路:递归,位运算,可以通过&&代替if条件判断
解:从n递归加至1,判断条件为n>0
int Sum_Solution(int n) {
int sum = n;
bool ans = (n>0)&&((sum+=Sum_Solution(n-1))>0); //通过&&充当if语句,递归
return sum;
}
本文标题:求1+2+3+……+n
本文链接:https://www.haomeiwen.com/subject/itthyctx.html
网友评论