//
you're reading...
Bài tập huấn luyện, Chủ đề đệ quy

Đệ quy – Bài tập huấn luyện: Điền số

[Latex online] [Pascal online] []


Đề bài


Điền các số từ 1 đến N*N vào các ô của hình vuông N*N (N<=5) ô vuông theo qui cách  :

Nếu ô (x,y) có số k thì hoặc ô (x+2,y-2) hoặc ô (x+2,y+2) hoặc ô (x-2,y+2) hoặc ô (x-2,y-2) hoặc ô (x+3,y) hoặc ô (x-3,y) hoặc ô (x,y+3) hoặc ô (x,y-3)  chứa số K+1 .

Nhập từ bàn phím số N và toạ độ x,y của ô xuất phát

Hiện các cách sắp xếp theo dạng ma trận vuông trên màn hình , và tổng số cách sắp xếp .


Hướng dẫn


[Tải chương trình]

Uses Crt;
Const N = 5;
SqrN = N*N;
C : Array[1..8] of Integer = (-3,3,0,0,2,-2,2,-2);
D : Array[1..8] of Integer = (0,0,3,-3,2,-2,-2,2);
Type K = Array[1..N,1..N] of Byte;
Var A : K;
Sn : Integer;
x,y : Byte;
Procedure Khoitri;
Begin
Writeln(‘Nhap toa do o xuat phat : ‘);
Write(‘Dong y = ‘); Readln(y);
Write(‘Cot x = ‘); Readln(x);
FillChar(A,Sizeof(A),0);
Sn := 0;
A[x,y] := 1;
End;
Procedure Hien;
Var i,j : Byte;
Begin
Inc(sn);
Writeln(‘Nghiem thu ‘,sn,’ : ‘);
For i:=1 to N do
Begin
For j:=1 to N do Write(A[i,j]:3);
Writeln;
End;
End;
Procedure Vet(y,x : Byte);
Var k : Byte;
Function Chapnhan(x,y,k : Byte) : Boolean;
Begin
If (x+C[k]>0) and (x+C[k]<N+1) and (y+D[k]>0) and (y+D[k]<N+1) and (A[y+D[k],x+C[k]]=0) then
Chapnhan := True Else Chapnhan := False;
End;
Begin
For k:=1 to 8 do
Begin
If chapnhan(x,y,k) then
Begin
A[y+D[k],x+C[k]] := A[y,x] +1;
If A[y+D[k],x+C[k]]< sqrN then
Vet(y+D[k],x+C[k]) Else Hien;
A[y+D[k],x+C[k]] := 0;
End;
End;
End;
BEGIN
Clrscr;
Khoitri;
Vet(x,y);
If sn=0 then Writeln(‘Khong co nghiem ‘)
Else Writeln(‘So nghiem : ‘,sn);
Readln;
END.

About pascalteacher

Trang thông tin Toán học và Tin học

Thảo luận

Chưa có phản hồi.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

Các tác giả

Tháng Mười Một 2016
M T W T F S S
« Oct   Dec »
 123456
78910111213
14151617181920
21222324252627
282930  

NCT Computer

Flickr Photos

Fast-flying Falcon

sunset and fishing nets

Force of Life - Pushing Boundaries I

More Photos

Thống kê

  • 81,544 lượt xem

%d bloggers like this: