int fib(int n)
{
int a = 1; //第一个数
int b = 1; //第二个数
int c = 1; //初始值为1原因:若输入为1或2,则跳过while直接返回c
while (n >= 3) // 1 1 2 3 5 8 13
//第一个数 第二个数 第三个数 第四个数
{
c = a + b;
a = b; //整体后移一位
b = c;
n--; //计算量减一
}
return c;
}
int main()
{
int n = 0;
printf("input:");
scanf("%d", &n);
printf("%d", fib(n));
return 0;
}
今日复习之“传参方式非递归求第n个斐波那契数”
于 2023-06-19 18:15:23 首次发布