Viết chương trình tính số fibonacci thứ n pascal

Hãy luôn nhớ cảm ơnvote 5*
nếu câu trả lời hữu ích nhé!

TRẢ LỜI

Viết chương trình tính số fibonacci thứ n pascal

Viết chương trình tính số fibonacci thứ n pascal

  • tuongtaylor
    Viết chương trình tính số fibonacci thứ n pascal
  • Hội code dạo
  • Trả lời

    2398

  • Điểm

    47683

  • Cảm ơn

    1755

  • tuongtaylor
  • Viết chương trình tính số fibonacci thứ n pascal
  • 20/06/2020

uses crt;
var n,i:longint; a:array[1..100000]of longint;
begin
clrscr;
   write('n=');readln(n);
   a[1]:=1; a[2]:=1;
   for i:=3 to n do
      begin
          a[i]:=a[i-1]+a[i-2];
      end;
   writeln(a[n]);
readln
end.

 Mong ban ung ho minh nhe!!! 

Viết chương trình tính số fibonacci thứ n pascal
Viết chương trình tính số fibonacci thứ n pascal

Hãy giúp mọi người biết câu trả lời này thế nào?

Viết chương trình tính số fibonacci thứ n pascal

star star star star star star star star star star star star star star star star star star star star star star star star star star star star star star

5

star star star star star

1 vote

Viết chương trình tính số fibonacci thứ n pascal

Viết chương trình tính số fibonacci thứ n pascal

  • danhle766
    Viết chương trình tính số fibonacci thứ n pascal
  • Chưa có nhóm
  • Trả lời

    254

  • Điểm

    7737

  • Cảm ơn

    235

  • danhle766
  • Viết chương trình tính số fibonacci thứ n pascal
  • 06/11/2020

function f(n:integer):integer;

begin

             if f <= 2 then f := 1

             else f := f(n-1) + f(n-2);

end;

begin

             write(f(5));   {phần này bạn tự nhập số vào ví dụ như mình nhập số 5 là tìm fibonaci của 5}

end.

Hãy giúp mọi người biết câu trả lời này thế nào?

star star star star star star star star star star star star star star star star star star star star star star star star star star star star star star

5

star star star star star

1 vote

Viết chương trình tính số Fibonacci thứ n biết: - F=F2 = 1 - F = Fn-1 + F-2


Bài 1(Cách 1): Viết chương trình nhập từ bàn phím một số n. Xuất dãy số Fibonacci trong khoảng n.

Biết dãy số Fibo được xác dịnh như sau :

U0 = U1 = 1

Un+2 = Un+1 + Un (n > 0)

Ví dụ: n = 8 -> 1 1 2 3 5 8 13 21.

Program Day_Fibo;

uses crt;

var i,n,f1,f2,f3:longint;

procedure fibo(k:longint);

begin

 f1:=1;

 f2:=1;

 for i:=1 to k do

 begin

  f3:=f1+f2;

  write(f1:3,'  ');

  f1:=f2;

  f2:=f3;

 end;

end;

begin

 clrscr;

 write('Nhap n: ');readln(n);

 fibo(n);

 readln;

end.

Bài 1 (Cách 2): Nhập vào một số N. Xuất ra tất cả các số fibonanci trong khoảng N.

VD: N = 5    -> 1        1          2          3          5

Program Bai9;

uses crt;

var a,b,c,d,i,n:integer;

begin

clrscr;

  write('Nhap vao n = ');readln(n);

  a:=1;

  b:=1;

  c:=a+b;

  write(n,' so Fibonaci dau tien la: ');

  write(1:4,1:4);

  for i:=3 to n do

    begin

      write(c:4);

      a:=b;

      b:=c;

      c:=a+b;

    end;

  writeln;

  writeln('Da xu ly xong');

readln;

end.

  writeln('da xu ly xong');

 readln;

end.

Bài 2: Nhập vào một số N. Xuất ra số Fibonanci thứ N

VD: N = 10    -> Số Fibonanci thứ 10 là: 55

program xuat_so_fibonanci;

uses crt;

var i,n,s,a,b:integer;

begin

clrscr;

 write('nhap vao n:=');readln(n);

  b:=1;

  i:=2;

  a:=1;

   while (i

    begin

     i:=i+1;

      if i mod 2=1 then a:=a+b

      else b:=b+a;

    end;

     if i mod 2=1 then write('So Fibonanci thu ',n,' la: ',a)

     else writeln('So Fibonanci thu ',n,' la: ',b);

readln;

end.

Bài 3: Nhập vào một số phân tích thành tổng các số là số fibonanci.

VD: N = 10   -> 10 = 8 +2

program tfbnc;

var i,j,n:integer;

    f:array[1..1000] of longint;

function fib(k:integer):longint;

  begin

    f[1]:=1;

    f[2]:=1;

    f[3]:=2;

    if f[k]=-1 then f[k]:=fib(k-1)+fib(k-2);

    fib:=f[k];

  end;

begin

  write('nhap n: ');readln(n);

  write(n,'=');

  for i:=1 to 1000 do f[i]:=-1;

  while n>0 do

  begin

    i:=1;

    while fib(i)<=n do i:=i+1;

    j:=fib(i-1);

    if i<=n then write(j,' + ')

    else write (j);

    n:=n-j;

  end;

  writeln();

  writeln('da xu ly xong');

 readln;

end.

Bài 4: Nhập vào một số N. kiểm tra xem có mấy cách phân tích thành tổng các số fibonanci.

VD: N = 10   -> Có 3 cách phân tích.

program bai10;

var f:array[1..20] of integer;

    dd:array[1..20] of boolean;

    n,i,luu:integer;

procedure tim(i:integer);

var j:integer;

begin

  if n=0 then

  begin

    writeln(i-1);

    readln;

    halt;

  end

  else

  begin

    for j:=1 to luu do

     if (not dd[j]) and (n>=f[j]) then

     begin

       dd[j]:=true;

       n:=n-f[j];

       tim(i+1);

       dd[j]:=false;

       n:=n+f[j];

     end;

  end;

end;

{Chuong trinh chinh}

begin

  write('nhap vao n: ');readln(n);

  f[1]:=1;

  f[2]:=1;

  i:=2;

  while (f[i]

    begin

      i:=i+1;

      f[i]:=f[i-1]+f[i-2];

    end;

  luu:=i;

  tim(0);

end.