Viết chương trình pascal tổng cho dãy số fibonaci

Bạn đang xem: Top 13+ Tổng Các Số Fibonacci Pascal

Thông tin và kiến thức về chủ đề tổng các số fibonacci pascal hay nhất do Truyền hình cáp sông thu chọn lọc và tổng hợp cùng với các chủ đề liên quan khác.

Tính các số Fibonacci:
- F1=F2 = 1
- Fn = Fn-1 + Fn-2

Program FIBONACII;
Uses Crt;
Var n,kq:integer;
Function F(n:integer):integer;
  Begin
     If (n=1) or (n=2) then
     F:=1
Else
     F:=F(n-1)+F(n-2);
End;
Begin
Clrscr;
Writeln(' TINH SO FIBONACII:');
Writeln('-------------------------------');
Write('Nhap n = '); Readln(n);
Write('F(',n,')= ',f(n));
Readln;
End.

Viết chương trình pascal tổng cho dãy số fibonaci
In ra màn hình dãy số Fibonaci

Dãy số Fibonaci là dãy số mà F(1)=0, F(2)=1, F(n)=F(n-1)+F(n-2). Hãy viết chương trình in ra màn hình dãy số Fibonaci với n được nhập từ bàn phím.

PROGRAM Fibonacci;
Uses CRT;
VAR
   First, Second, Temp : Longint;
   ix,n : integer;
BEGIN
   Clrscr;
   Write('Nhap n = ');
   Readln(n);
   Writeln('Day so Fibonacci:');
   First := 0;
   Second := 1;
   write(First:10);
   write(Second:10);
   for ix := 0 to n do
   begin
      Temp := FIrst + Second;
      First := Second;
      Second := Temp;
      write(Temp:10);
   end;
   Readln;
END.
Viết chương trình pascal tổng cho dãy số fibonaci
In ra màn hình dãy số Fibonaci

3.6 17 votes

Đánh giá bài viết

- Yêu cầu : Viết chương trình nhập vào N, tính tổng các số có trong dãy (từ giá trị đầu của dãy và kết thúc tại giá trị N) trên là số nguyên tố

- Dữ liệu vào : Gồm 1 dòng là số N

- Dữ liệu ra : Gồm 1 dòng là tổng của các số có trong dãy fibonacci và là số nguyên tố

Ví dụ :

Bài 1: Viết chương trình nhập vào 1 dãy số nguyên xuất dãy số đó ra màn hình tính tích các số chẵn và xuất ra màn hình.

Bài 2: Viết chương trình nhập 1 dãy số nguyên, xuất dãy số đó ra màn hình tính tổng các số chẵn các số lẻ và xuất ra màn hình.

Xem chi tiết

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.