1-2+3-4+5-6+7......+n

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7......+n

long fn(long n)

{

long temp=0;

int i,flag=1;

if(n<=0)

{

printf("error: n must > 0);

exit(1);

}

for(i=1;i<=n;i++)

{

temp=temp+flag*i;

flag=(-1)*flag;

}

return temp;

}

long fn(long n)

{

long temp=0;

int j=1,i=1,flag=1;

if(n<=0)

{

printf("error: n must > 0);

exit(1);

}

while(j<=n)

{

temp=temp+i;

i=-i;

i>0?i++:i--;

j++;

}

return temp;

}

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;

}

不要认为CPU运算速度快就把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做,因为CPU是为用户服务的,不是为我们程序员服务的!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航