【Killua笔试面试题整理】求1+2+…+n

 

【题目描述】

1+2++n

要求不能使用乘除法、forwhileifelseswitchcase 等关键字以及条件判断语句

 

【题目来源】未知

 

【题目分析】

一般求1+2+n,是使用循环或者阶乘,这边加限制条件可以考虑用递归。如果使用递归的话,最重要的就是考虑递归退出条件,由于不能用if语句,而退出必然需要判断,于是使用了bool型表达式,用于终止函数的继续递归。

 

【代码】

#include<iostream> using namespace std; int sum(int n) { int res = 0; int i = 1; (n > 0)&&(res = sum(n-1) + n); return res; } int main() { //Just For Test int res = sum(100); cout << res <<endl; return 0; } 

 

你可能感兴趣的:(【Killua笔试面试题整理】求1+2+…+n)