加法考慮溢出的問題

寫一個函數返回1+2+3+…+n的值(假定結果不會超過長整型變量的範圍)

既然這裏提示不超過長整形那麼就要考慮結果是否是int。

int Sum( int n )
{
    return ( (long)1 + n) * n / 2; //return (1l + n) * n / 2;
}
這裏將1進行轉換,轉換爲長整形。所以後面都會轉換爲long。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章