【解答】
int Sum( int n ) { return ( (long)1 + n) * n / 2; //或return (1l + n) * n / 2; }
int Sum( int n ) { long sum = 0; for( int i=1; i<=n; i++ ) { sum += i; } return sum; }
Int fun(int n)
{
if(n<1)return 0;
retrun n+fun(n-1);
}
为什么lang放在1上,整体不行吗?
return (long)((n+1)*n/2)
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
【解答】
【剖析】对于这个题,只能说,也许最简单的答案就是最好的答案。下面的解答,或者基于下面的解答思路去优化,不管怎么“折腾”,其效率也不可能与直接return ( 1 l + n ) * n / 2相比!