日落之前再见一面吧 2022-09-18 23:05 采纳率: 25%
浏览 19

这串代码为啥洛谷上不行?

斐波那契数列为啥在洛谷上过不了?
#include<stdio.h>
int fib(int n)
{
int a=1;
int b=1;
int c=1;
while(n>2)
{
c=a+b;
a=b;
b=c;
n--;
}
return c;
}
int main()
{
int i=0;
scanf("%d",&i);
int ret=fib(i);
printf("%d",ret);
return 0;
}

img


题目在后面

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-09-19 09:14
    关注

    代码在整数范围内(整数范围只能表达到第46个,再后面就超范围溢出了)是正确的,不知道题目要求是什么。

    #include<stdio.h>
    int fib(int n)
    {
        int a = 1;
        int b = 1;
        int c = 1;
        while (n > 2)
        {
            c = a + b;
            a = b;
            b = c;
            n--;
        }
        return c;
    }
    int main()
    {
        int i = 0;
        scanf("%d", &i);
        int ret = fib(i);
        printf("%d", ret);
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 9月19日
  • 创建了问题 9月18日