Dãy f là dãy Fibonacci nếu:
f[0]=0; f[1]=1; f[n]=f[n-1]+f[n-2] với n>= 2.
Viết chương trình nhập từ dãy bàn phím số nguyên dương n và đưa ra màn mình số hạng thứ n của dãy Fibonacci. Chương trình của bạn thực hiện được với giá trị lớn nhất là bao nhiêu?
f[0]=0; f[1]=1; f[n]=f[n-1]+f[n-2] với n>= 2.
Viết chương trình nhập từ dãy bàn phím số nguyên dương n và đưa ra màn mình số hạng thứ n của dãy Fibonacci. Chương trình của bạn thực hiện được với giá trị lớn nhất là bao nhiêu?
Ý tưởng
Chúng ta sẽ sử dụng hai biến a và b thuộc kiểu dữ liệu Longint, a và b sẽ tương ứng với f[n-1] và f[n-2] . Như vậy f[n]=f[n-1]+f[n-2] và chúng ta sẽ gán nó vào b còn giá trị b trước đó sẽ được gán vào a.
Chương trình
program fibonaci; uses crt; var a,b,c: longint; n,i : integer; begin clrscr; writeln('Nhap so N'); readln(n); a:=1; b:=1; i:=1; while (i<n) do begin c:=b; b:=a+b; a:=c; inc(i); end; writeln('So hang thu ',n,' cua day Fibonaci la ',a); readln; end.
Comments
Post a Comment
» Vui lòng không spam vì nó sẽ bị xóa ngay sau đó.
» Nếu chèn code hãy mã hóa trước khi chèn vào nhận xét.
» Nếu thủ thuật Blog không áp dụng được thì hãy để lại URL blog để mình tiện kiểm tra.