Dãy số Fibonacci bắt nguồn từ bài toán cổ về việc sinh sản của các cặp thỏ. Bài toán được đặt ra như sau:
Các con thỏ không bao giờ chết.
Hai tháng sau khi ra đời một cặp thỏ mới sẽ sinh ra một cặp thỏ con.
Khi đã sinh con rồi thì cứ mỗi tháng tiếp theo chúng lại sinh được một cặp con mới. Giả sử bắt đầu từ một cặp thỏ mới ra đời thì đến tháng thứ 5 sẽ có bao nhiêu cặp?
A. 9 cặp
B. 5 cặp
C. 12 cặp
D. 10 cặp
Chọn đáp án B
Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 3 trong Stack ta phải làm thế nào?
Giải thuật đệ quy của bài toán "Tháp Hà Nội" như sau:
Procedure Chuyen(n, A, B, C)
Begin
if n=1 then chuyển đĩa từ A sang C else begin
call Chuyen(n-1, a, C, B); call Chuyen(1, A, B, C); call Chuyen(n-1, B, A, C) ; end;
End;
Khi n=3 có bao nhiêu bước chuyển?
Giải thuật sau thực hiện việc gì? Procedure F(x,P: integer);
Begin
for i:= (l.last+1) downto (P+1) do l.s[i]:=l.s[i-1];
l.s[P]:=x; l.last:=l.last + 1; End;
Cho Stack gồm 5 phần tử {12, 5, 20, 23, 25}, trong đó 25 là phần tử ở đỉnh Stack. Để lấy ra phần tử thứ 4 trong Stack ta phải làm thế nào?
Trong lưu trữ dữ liệu kiểu Stack, giải thuật P chính là:
Function P Begin T:=T-1;
P:=S[t+1];
End;
Để lấy loại bỏ một đối tượng ra khỏi Stack, thao tác thường dùng là: “
Giải thuật sau thực hiện việc gì? Procedure P( l:ds);
Begin l.last := 0; End;
Cho hàm đệ qui sau:
Function Factorial(n)
Begin
if n= 0 then Factorial:=1
else Factorial := n*Factorial(n-1); End;
Sau mỗi lần gọi đệ quy thì giá trị của n là:
Giải thuật sau thực hiện việc gì? Function Q:kiểu dữ liệu;
Begin
if F=0 then begin write(‘NULL’) return
end;
Y:=Q[F];
if F=R then begin F:=R:=0;
return end;
if F=n then F:=1 else F:=F+1; Q:=Y;
End;
Cho giải thuật đệ quy sau:
Function F(n)
Begin
if n<=2 then F:=1
else F := F(n-1) + F(n-2);
End;
Dòng lệnh “if n<=2 then F:=1” đóng vai trò:
=2>=2>Để thêm một đối tượng x bất kỳ vào Stack, thao tác thường dùng là:
Trong lưu trữ dữ liệu kiểu Stack, giải thuật F chính là: Procedure F(X)
Begin T:=T+1; S[T]:=X;
End;
Có Hàm đệ qui sau giải bài toán gì?: Function Factorial(n)
Begin
if n=0 then Factorial:=1
else Factorial := n*Factorial(n-1); End;
Tính số cặp thỏ sau n tháng
S là ngăn xếp , Phép toán thêm phần tử vào ngăn xếp Là Push, phép lấy ra một phần tử từ ngăn xếp là POP, thủ tục sau làm nhiệm vụ gì?
Procedure Chuyen_doi(N); While N <> 0 do
R := N mod 2; {tính số dư trong phép chia N cho 2} call PUSH(S, R);
N := N div 2; {thay N bằng thương của phép chia N cho 2} end;
While not Empty(S) do begin
call POP(S, R);
write(R); end
end.