很简单的一道题,但如何能够解出高效的算法呢?
给出代码:
初看它,我也扪心自问,这么简单的算法我不会写吗,但我根本不会考虑到要这样写。
不要认为CPU运算速度快 就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的.
确实,算法很重要.
给出代码:
long
fn(
long
n)
{
if (n <= 0 )
{
printf( " error: n must > 0);
exit( 1 );
}
if ( 0 == n % 2 )
return (n / 2 ) * ( - 1 );
else
return (n / 2 ) * ( - 1 ) + n;
}
{
if (n <= 0 )
{
printf( " error: n must > 0);
exit( 1 );
}
if ( 0 == n % 2 )
return (n / 2 ) * ( - 1 );
else
return (n / 2 ) * ( - 1 ) + n;
}
初看它,我也扪心自问,这么简单的算法我不会写吗,但我根本不会考虑到要这样写。
不要认为CPU运算速度快 就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的.
确实,算法很重要.