C语言怎么解决Fibonacci数列问题

avatar
作者
猴君
阅读量:0

在C语言中,可以使用循环或递归的方式来解决Fibonacci数列问题。

  1. 使用循环解决Fibonacci数列问题:
#include <stdio.h>  int fibonacci(int n) {     if (n <= 1) {         return n;     }      int first = 0;     int second = 1;     int result = 0;      for (int i = 2; i <= n; i++) {         result = first + second;         first = second;         second = result;     }      return result; }  int main() {     int n;     printf("请输入一个正整数:");     scanf("%d", &n);      printf("第%d个Fibonacci数是:%d\n", n, fibonacci(n));      return 0; } 
  1. 使用递归解决Fibonacci数列问题:
#include <stdio.h>  int fibonacci(int n) {     if (n <= 1) {         return n;     }      return fibonacci(n-1) + fibonacci(n-2); }  int main() {     int n;     printf("请输入一个正整数:");     scanf("%d", &n);      printf("第%d个Fibonacci数是:%d\n", n, fibonacci(n));      return 0; } 

以上两种方法都能够解决Fibonacci数列问题,但是使用递归的方式效率较低,特别是对于较大的n值,递归方式会有很多重复计算,因此使用循环方式是更好的选择。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!