bool sum1(int n, int& s)//求和算法1
{
if(n<1) return false;
s=n*(n+1)/2; return true;
}
bool sum2(int n)//求和算法2
{
if(n<1) return -1;
return n*(n+1)/2;
}
bool sum3(int n)//求和算法3
{
if(n<1)
throw "参数n错误!";//抛出异常信息
return n*(n+1)/2;
}
bool sum4(int n)//求和算法4
{//for循环求和
int s=0;
if(n<1) return -1;
for(int i=1;i<=n;i++)
{
s+=i;
}
return s;
}
bool sum5(int n)//求和算法5
{//递归求和
if(n<1) return -1;
if(n==1) return 1;//递归出口
else
return sum5(n-1)+n;//递归体
}