Xuất dãy số Fibonacci

Mọi người cho em hỏi, em bị sai chỗ nào khi nộp bài chỉ đúng mỗi test 6, còn lại sai hết em mới học lập trình mong mọi người giúp đỡ

#include<iostream>
using namespace std;
int main()
{
     int n1=1, n2=1, n3, n;
     cin >> n;
     cout <<""<< n1 <<" "<< n2;
     for (int i=2; i<=8; i++){
       n3= n1+n2;
       n1=n2;
       n2=n3;
      cout<<" "<< n3;
     }

    return 0;
 }

đề bài đâu bạn? và code của bạn đang làm gì, có đúng với đề bài không


Đề đây ạ

bạn đã làm đúng theo đề bài chưa?
code của bạn đang thực hiện những gì?

đúng kết quả theo output rồi bạn mà nó vẫn sai

Nếu n = 500 thì có bao số Fibonacci sẽ được in ra? Thực tế có bao nhiêu số Fibonacci < n?

sao bạn không code 1 dòng duy nhất luôn

cout<<"1 1 2 3 5 8 13 21 34";

cũng đúng mà

Sao lại chạy đến 8??? Mà i từ 2 => chỉ chạy được 7 số.
Dãy Fibonacci nhỏ hơn 1000 gồm 16 số thì chí ít cũng phải chạy đến 16 (i từ 1).

1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987

Nhưng chính xác thì điều kiện lặp phải là theo số fibo hiện tại (n3) và n đã nhập.

“Ví dụ” chỉ là để dễ hình dung output thôi :smiley:
Bài này có thể dùng cấu trúc do… while().

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?