Viết chương trình pascal cho dãy số fibonaci
uses crt; var a,b,i,d:longint; (**************************************************) function fibo(x:longint):boolean; var b:array[1..1000] of longint; k:longint; begin b[1]:=1;b[2]:=1;k:=2; repeat k:=k+1; b[k]:=b[k-1]+b[k-2]; until (b[k]>x) or (b[k]=x); if b[k]=x then exit(true); exit(false); end; (******************************************************) begin clrscr; readln(a,b); d:=0; for i:=a to b do if fibo(i) then d:=d+1; write(d); readln end. In ra màn hình dãy số FibonaciDã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.In ra màn hình dãy số Fibonaci 3.6 17 votes Đánh giá bài viết Vẽ thuật toán và viết chương trình tính và in ra số Fibonaci F(n) với n nhập từ bàn phím. Biết F(n) = F(n-1) + F(n-2), cho trước F(1) = 1; F(2) = 1; 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 Dãy số Fibonaci10:48 Đô Rê Mon ĐZ In ra màn hình dãy số Fibonaci với n số nhập từ bàn phím. Biết dãy số Fibonaci là dãy số mà F(1)=0, F(2)=1, F(n)=F(n-1)+F(n-2). Related Posts : Bài tập Pascal,Câu lệnh lặp,Pascal cơ bản,Vòng lặp for 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. |