写一个函数返回1+2+3+…+n的值
(假定结果不会超过长整型变量的范围)
int Sum( int n )
{
return ( (long)1 + n) * n / 2; //或return (1l + n) * n / 2;
}
剖析:
对于这个题,只能说,也许最简单的答案就是最好的答案。下面的解答,或者基于下面的解答思路去优化,其效率也不可能与直接return ( 1 l + n ) * n / 2相比!
int Sum( int n )
{
long sum = 0;
for( int i=1; i<=n; i++ )
{
sum += i;
}
return sum;
}
【写一个函数返回1+2+3+…+n的值】相关文章:
递归计算如下递归函数的值12-16
分享php数组去除空值函数11-15
编写一个程序:输入N,打印N*N矩阵12-20
Java方法(函数)传值和传引用的问题09-27