Dãy số Fibonacci với Pascal

230
Lập trình Pascal

Bài toán. Dãy Fibonacci có hai phần tử đầu là 1, 1. Các phần tử sau bằng tổng hai phần tử đứng ngay trước nó: 1, 1, 2, 3, 5, 8, 13, 21, …

          Viết chương trình in ra dãy Fibonacci có phần tử lớn nhất nhỏ hơn n?

Thuật toán:

– Cần hai biến F_1 và F có giá trị đầu là 1, 1.

– Thực hiện lặp cho đến khi F >= n.

– Do yêu cầu chỉ in các số bé hơn n nên khi in cần thêm một lệnh kiểm tra.

Code tham khảo:

Program Fibonacci;
Var n, F_2,F_1, F: Longint;
Begin
    Write('Nhap n: ');Readln(n);
    F_1:=1; F_2:=1;
    Write(F_2,';',F_1,';');
    Repeat
        F:=F_2+F_1;
        if F< n then Write(F,';');
        F_2:=F_1; F_1:=F;
    Until F>n;
    Readln;
End.