Tin 11 : Đệ Qui quay lui

H

hung1xpro96

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

1/ Có Bao nhiêu xâu có độ dài n chỉ chứa 2 kí tự "a" và "B" sao cho không có 2 chữ "B" đứng liền nhau .
2/ Cho số n . Liệt kê các cách phân tích số n thành tổng các số có giá trị bằng n .
Vd: n=5
5=1+1+1+1+1
5=1+1+1+2
5=1+1+3
5=1+4
5=1+2+2
5=2+3
5=5
 
P

p_trk

Bài này co trong tài liệu GIẢI THUẬT & LẬP TRÌNH (Lê Minh Hoàng , bạn tìm và tham khảo. mà bạn học lớp mấy rồi !
 
P

p_trk

Mã:
const fin='BT.in' ; fout='BT.out';
var
n: integer;
f: text;
x,t : array[0..100] of integer;

procedure init;
 begin
     assign(f,fin); reset(f);
     readln(f,n);
     close(f);
     x[0]:=1;
     t[0]:=0;
 end;

procedure prince(k: integer);
 var
    i: integer;
 begin
 write(f, n, '= ');
  for i:=1 to k-1 do write(f, x[i], '+');
  writeln(f, x[k]);
 end;



 procedure dequi(i: integer);
 var
    j: integer;
 begin
   for j:=x[i-1] to (n-T[i-1]) div 2 do
     begin
         x[i]:=j;
         t[i]:=t[i-1] +j;
         dequi(i+1);
     end;
     x[i]:= n- T[i-1];
     prince(i);
 end;


 BEGIN
 init;
 assign(f,fout); rewrite(f);
 dequi(1);
 close(f);

 end.

Của bạn đây
 
Top Bottom