求1+2+…+n

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

#include<iostream>
using namespace std;
int mySum(int n)
{
 int temp=0;
 (!!n) && (temp=mySum(n-1));//n=0时,第一个条件为false,(temp=mySum(n-1))不会执行,因此不会再递归调用函数,递归结束。
 return temp+n;
}
int main()
{
 int sum=mySum(100);
 cout<<sum<<endl;
 return 0;
}
运行结果

//5050
//Press any key to continue

 

posted @ 2012-08-24 19:54  夏日冰茶  阅读(156)  评论(0编辑  收藏  举报