6个回答
展开全部
int calc(int n)
{
int sum = 0, tmp = 1;
for(int i = 1; i <= n; ++i)
{
tmp * = i;
if(!(i % 2))
sum += tmp;
}
return sum;
}
{
int sum = 0, tmp = 1;
for(int i = 1; i <= n; ++i)
{
tmp * = i;
if(!(i % 2))
sum += tmp;
}
return sum;
}
追问
结果不正确啊
追答
哦,没注意,计算的值超出了int的范围,把int改成__int64就行了
__int64 calc(__int64 n)
{
__int64 sum = 0, tmp = 1;
if(n == 0)
return 1;
for(int i = 1; i <= n; ++i)
{
tmp * = i;
if(!(i % 2))
sum += tmp;
}
return sum;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询