Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 25 kết quả

Đề tài: Thuật toán hiển thị dãy số Fibonacci?

  1. #1
    Ngày gia nhập
    07 2009
    Nơi ở
    Sai Gon
    Bài viết
    3

    Mặc định Thuật toán hiển thị dãy số Fibonacci?

    Mình mới tập tành bước vào thế giới C++. Xin hướng dẫn thuật toán hiển thị dãy số Fibonacci 1,1,2,3,5,8,13,21...... Xin cám ơn.
    Everything begins with a simple phrase "I don't know" !

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    HCM
    Bài viết
    13

    Bạn dùng đệ quy.
    với F(0)=1, F(1)=1;
    và F(n)=F(n-1)+F(n-2)

    Bạn làm xong nhớ post code lên nhé (^_^)

  3. #3
    Ngày gia nhập
    07 2009
    Nơi ở
    Sai Gon
    Bài viết
    3

    Xin cảm ơn bạn, trong lúc chờ được trả lời, mình đã tìm được cách giải:
    int i,j,n,s,s1=0,s2=1;
    for (i=1;i<=n;i++) //n là số phần tử dãy Fibo muốn hiển thị
    {
    s=s1+s2;
    s1=s2;
    s2=s;
    printf("%d",s);
    }
    Tuy nhiên mình không hiển thị được số 1 đầu tiên của dãy Fibo, phải ăn gian, xuất thêm số 1 trước dãy ^.^
    Cảm ơn bạn đã quan tâm và hướng dẫn.
    Everything begins with a simple phrase "I don't know" !

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Cũng không sao đâu bạn. Dãy Fib cần có 2 phần tử đầu tiên mà.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    07 2009
    Nơi ở
    Sai Gon
    Bài viết
    3

    Cảm ơn bạn Mod nhé ^^
    Everything begins with a simple phrase "I don't know" !

  6. #6
    Ngày gia nhập
    02 2009
    Bài viết
    5

    Mặc định Thuật toán hiển thị dãy số Fibonacci?

    bạ sử dụng đệ qui sẽ hay hơn:
    Code:
    int fibonaci(int s)
    {
    	if(s==0||s==1) return 1;
    	else
    		return (fibonaci(s-2)+fibonaci(s-1));
    }
    Have fun!

  7. #7
    Ngày gia nhập
    11 2007
    Nơi ở
    Hà Nội
    Bài viết
    515

    Trích dẫn Nguyên bản được gửi bởi huavanphong Xem bài viết
    bạ sử dụng đệ qui sẽ hay hơn:
    Code:
    int fibonaci(int s)
    {
    	if(s==0||s==1) return 1;
    	else
    		return (fibonaci(s-2)+fibonaci(s-1));
    }
    Have fun!
    Theo mình thì không dùng đệ quy sẽ nhanh hơn, bạn thử với số 50 thì rõ
    Nhưng dùng đệ quy có cái lợi là code nhanh và dễ hiểu

  8. #8
    Ngày gia nhập
    08 2009
    Bài viết
    3

    Ngoài ra bạn cũng có thể dùng phương pháp gọi là "qui hoạch động"
    int Fipo(int n)
    {
    int *A= new int[n+1];
    A[0] = A[1] = 1;
    for(int i = 2 l i <= n ; i++)
    A[i] = A[i-1] + A[i-2];
    int kq = A[n];
    delete []A;
    return kq;
    }

  9. #9
    Ngày gia nhập
    04 2010
    Bài viết
    41

    Wink chao bạn!

    Trích dẫn Nguyên bản được gửi bởi plusplusC Xem bài viết
    Xin cảm ơn bạn, trong lúc chờ được trả lời, mình đã tìm được cách giải:
    int i,j,n,s,s1=0,s2=1;
    for (i=1;i<=n;i++) //n là số phần tử dãy Fibo muốn hiển thị
    {
    s=s1+s2;
    s1=s2;
    s2=s;
    printf("%d",s);
    }
    Tuy nhiên mình không hiển thị được số 1 đầu tiên của dãy Fibo, phải ăn gian, xuất thêm số 1 trước dãy ^.^
    Cảm ơn bạn đã quan tâm và hướng dẫn.
    chắc bạn coppy của ai đúng không !
    bạn cho mình hỏi cải biến j bạn khai báo làm chui vậy!

  10. #10
    Ngày gia nhập
    08 2009
    Bài viết
    1

    Mặc định Thanks

    Hay đấy!
    Tiếp tục phát huy nhé.

Các đề tài tương tự

  1. Dãy Fibonacci
    Gửi bởi khanh1202 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 05-06-2013, 08:12 AM
  2. Bài toán dãy số FIBONACCI
    Gửi bởi khanh1202 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 28-05-2013, 11:52 PM
  3. [Help] tìm số Fibonacci lớn nhất bé hơn n cho trước.
    Gửi bởi superdanger trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 8
    Bài viết cuối: 09-11-2012, 06:07 PM
  4. bài tập fibonacci
    Gửi bởi thaohoangf trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 05-10-2012, 02:54 PM
  5. Thuật toán đệ qui và khử đệ qui.In ra 100 so Fibonacci đầu tiên!!!
    Gửi bởi vietanh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 26-02-2012, 12:17 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn