zhuiyuan731 2016-11-09 11:53 采纳率: 0%
浏览 1009
已结题

这个地方存在问题,不知道这个算法要如何完善,目的是为防止数据过大溢出,将输出限制在10007以内

#include
int main()
{
int sobinc(double s);
double shuru,pt;
scanf("%lf",&shuru);
pt=sobinc(shuru);
printf("%d",pt);
return 0;
}

int sobinc(double s)
{
int result;
if(s<=1.)
{
if(s<0)
result=0;
else
result=1;
}
else
result=sobinc(s-1)%10007+sobinc(s-3.14)%10007;
return (result);
}

  • 写回答

1条回答 默认 最新

  • 云镛 2016-11-09 12:31
    关注

    你的具体应用场景是什么啊?你的代码用到了递归,根据你写的result的值,要么为0要么为1,在怎么递归返回值也不会大于10007啊。

    评论

报告相同问题?