写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 264 收藏 0 点赞 0 评论 0

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;
}

评论列表
文章目录