سلام
من می خوام یه برنامه بنویسم که به کمک روش تقسیم و غلبه یه صفحه شطرنجی سفید را خونه هاش را یکی در میان مشکی کنه! ولی نمی دونم چه جوری!
سلام
من می خوام یه برنامه بنویسم که به کمک روش تقسیم و غلبه یه صفحه شطرنجی سفید را خونه هاش را یکی در میان مشکی کنه! ولی نمی دونم چه جوری!
سلام
راه حلهاي زيادي ميتواند داشته باشد.
ميتوانيد با شماره گذاري خانهها به شكل مثلا سطري، تمام خانههايي كه مجموع سطر و ستونشان زوج است را رنگ كنيد.
Matrix = 1..m * 1..n
Call Paint(m*n);
Ex: Matrix 1..3*1..4 has 12 cells
Procedure Paint( CellNumber : int )
var col,row: int;
begin
if CellNumber >= 1 then
begin
row := CellNumber div n;
col := CellNumber mod n;
if col <> 0 then row:=row+1 else col = n;
if (row + col) mod 2 = 0 then Black(CellNumber) else White(CellNumber);
Paint( CellNumber-1 );
end;
end;
خیلی راحته که
محیط شطرنج دو بعدیه و اگه فرض کنیم مثلا یه مربع 8*8 داریم ابتدا سطر و ستون هشتم را بصورت یک در میان رنگ سیاه میزنیم و بعد همین کار رو با یه مربع 7*7 میکنیم.
chess(n)
{
if(n>0)
{
for i=1 to n step 2
set-black-cell;
for j=1 to n step 2
set-black-cell;
chess(n-1);
}
else
{
return;
}
}