Chuỗi fibonacci hiển thị bằng chương trình C

Trong ví dụ này, bạn sẽ học cách hiển thị dãy Fibonacci của n số đầu tiên (do người dùng nhập vào).

Để hiểu được ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình C sau :

  • C Programming Operators
  • C while and do…while Loop
  • C for Loop
  • C break and continue

Dãy Fibonacci là một dãy trong đó số hạng tiếp theo là tổng của hai số hạng trước đó. Hai số hạng đầu tiên của dãy Fibonacci là 0 theo sau là 1.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21

Truy cập trang này để tìm hiểu về dãy Fibonacci .

Chuỗi Fibonacci lên đến n điều khoản

#include <stdio.h>
int main() {

  int i, n;

  // initialize first and second terms
  int t1 = 0, t2 = 1;

  // initialize the next term (3rd term)
  int nextTerm = t1 + t2;

  // get no. of terms from user
  printf("Enter the number of terms: ");
  scanf("%d", &n);

  // print the first two terms t1 and t2
  printf("Fibonacci Series: %d, %d, ", t1, t2);

  // print 3rd to nth terms
  for (i = 3; i <= n; ++i) {
    printf("%d, ", nextTerm);
    t1 = t2;
    t2 = nextTerm;
    nextTerm = t1 + t2;
  }

  return 0;
}

Đầu ra

Enter the number of terms: 10
Fibonacci Series: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 

Hãy để chúng tôi giả sử n = 10. Đầu tiên, chúng ta đã in hai số hạng đầu tiên của dãy Fibonacci trước khi sử dụng forvòng lặp để in n số hạng tiếp theo  .

Hãy để chúng tôi xem cách forhoạt động của vòng lặp:

it1t2nextTerm
3011
4112
5123
6235
7358
85813
981321
10132134

Trình tự Fibonacci lên đến một số nhất định

#include <stdio.h>
int main() {
  int t1 = 0, t2 = 1, nextTerm = 0, n;
  printf("Enter a positive number: ");
  scanf("%d", &n);

  // displays the first two terms which is always 0 and 1
  printf("Fibonacci Series: %d, %d, ", t1, t2);
  nextTerm = t1 + t2;

  while (nextTerm <= n) {
    printf("%d, ", nextTerm);
    t1 = t2;
    t2 = nextTerm;
    nextTerm = t1 + t2;
  }

  return 0;
}

Đầu ra

Enter a positive integer: 100
Fibonacci Series: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 

Trong chương trình này, chúng tôi đã sử dụng một whilevòng lặp để in tất cả các số Fibonacci lên đến n .

Nếu n không phải là một phần của dãy Fibonacci, chúng tôi in dãy lên đến số gần nhất với (và nhỏ hơn) n .

Giả sử n = 100. Đầu tiên, chúng tôi in hai điều khoản đầu tiên t1 = 0và t2 = 1.

Sau đó, whilevòng lặp in phần còn lại của chuỗi bằng cách sử dụng biến nextTerm :

t1t2nextTermnextTerm <= n
011true. Print nextTerm.
112true. Print nextTerm.
123true. Print nextTerm.
345589true. Print nextTerm.
5589144false. Terminate Loop.








Gõ tìm kiếm nhanh...