0
点赞
收藏
分享

微信扫一扫

C++--求1+2+3+...+n=?


1+2+3+…+n=?

题目
求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)

方法(递归)

#include<iostream>
using namespace std;

//利用短路求值 与操作
int sum(int n)
{
int x=n;
x&&(x+=sum(n-1));
return x;
}

int main()
{

cout<<"1+2+3+...+100="<<sum(100)<<endl;

return 0;
}

C++--求1+2+3+...+n=?_操作数


总结

这里需要用到递归的方法,但是使用递归必须有终止递归条件,由于条件限制,所以这里想到可以用短路求值的方法进行终止条件的判定,利用与操作,当与前一个操作数为0的时候,会终止与操作


举报

相关推荐

0 条评论