原帖由 rebirth 于 2007-1-18 16:50 发表
帖子将会移走,哈哈
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;
}
原帖由 needed 于 2007-1-18 23:22 发表
对"面试官"的算法有点疑问
n = 7 ; n%2=1
那么代入得 结果 (7/2)*(-1)+ 7 = 3.5 ?
最后一行 应该是 return ((n-1)/2)*(-1)+n; 吧 ?
欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) | Powered by Discuz! 7.2 |