2001 - HÌNH TRÒN VÀ BẢNG VUÔNG(DÀNH CHO HỌC SINH PTTH)+ TÍNH SỐ...

Bài 68/2001 - Hình tròn và bảng vuông

(Dành cho học sinh PTTH)

+ Tính số ô vuông bị cắt bởi hình tròn:

Nếu trục toạ độ là (0,0) thì tâm vòng tròng có toạ độ (n,n). Xét 1 phần 4 vòng tròn từ 6 giờ đến giờ ô bị cắt

là ô có đỉnh (i,j) nằm ngoài vònh tròn và 1 đến 3 đỉnh (i+1, j), (i, j+1), (i+1, j+1) trong vòng tròn. Do tính đối

xứng ta chỉ cần tính số ô của 1 phần 4 vòng tròn rồi nhân với 4. Tuy nhiên nếu nhận xét kĩ hơn ta thấy với n

= 2, số ô bị cắt là 12, khi n tăng 1 đơn vị, số ô bị cắt tăng lên 8 ô. Do đó ta có thể tính thẳng số ô bị cắt bằng

công thức : Số ô bị cắt =12 + (n-2)*8

+ Tính số ô nằm trong vòng tròn:

Cũng do tính đối xứng ta chỉ cần tính số ô nằm trong 1 phần 4 vòng tròn rồi nhân với 4, ô nằm trong vòng

tròn khi tất cả 4 đỉnh nằm trong vòng tròn.

Chương trình Pascal

Uses Ctr;

Const S1 =’INPUT.TXT’;

S2=’OUTPUT.TXT’;

VarF1F2: text;

I,J,N : word;

Dem :longint;

FunctionTrong(X,Y: longint): boolean;

Begin

Trong:= 4*(sqr(X-N)+sqr(Y-N))<=sqr(2*N-1);

End

BEGIN

Clrscr;

Assign(F1,S1);

Reset(F1);

Assign(F2,S2);

Rewrite(F2);

While not eof(F1) do

Begin

Readln(F1,N);

Write(F2,’N=,’=>’,12+((N-2)*8));

Dem:= 0;

For I:= 0 to N-1 do

For J:= 0 to J-1 do

If Trong (I,J) and Trong (I+1,J) and Trong (I,J+1) and Trong (I+1, J+1) then(Dem)

Writeln(F2,’’,Dem*4);

End;

Close(F1);

Close(F2);

End.

(Lời giải của bạn Lâm Tấn Minh Tâm - 12 Tin trường PTTH Chuyên Tiền Giang- Tiền Giang)