寫一個函數返回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