如图,不知道自己代码思路有什么问题
为什么输入13,没打印任何东西?
斐波那契数列,你为啥要定义double型??是在匪夷所思啊
你用double型,经过一顿计算,正好==0,==1,==2是很困难的,浮点数都有精度误差啊。
所有都改成int型吧
你在后面判断(n-2)-i*3==0里面的i是从哪里来的
供参考:
#include <stdio.h>
int main()
{
int n, i;
__int64 a, b, c;
scanf("%d", &n);
if (n <= 5) {
if (n == 1)
printf("1\n");
else if (n == 2)
printf("1\n");
else if (n == 3)
printf("2\n");
else if (n == 4)
printf("3\n");
else if (n == 5)
printf("5\n");
}
else {
a = 3; b = 5;
for (i = 5; i < n; i++) {
c = a + b;
a = b;
b = c;
}
printf("%I64d\n", c);
}
return 0;
}