9.29.2017

Đếm hình vuông

Bảng B tin học tẻ toàn quốc 2013 - Bài 1/3
Cho một mảng hình vuông kích thước n x n được chia thành lưới ô vuông đơn vị, các vị trí đỉnh của các ô vuông đơn vị được gọi là các mắt lưới. Người ta muốn đếm số lượng các hình vuông thỏa mãn hai điều kiện sau:
- Mỗi cạnh hình vuông phải song song với một trong hai cạnh bảng
- Cả bốn đỉnh của hình vuông phải nằm tại vị trí của các mắt lưới
Ví dụ: với bảng kích thước 3 x 3 ta có thể đếm được 16 hình vuông thỏa mãn hai điều kiên trên.
Vì số lượng hình vuông đếm được là rất lớn nên em chỉ cần cho biết kết quả là số dư của phép chia: số lượng hình vuông đếm được chia cho 2013.
Em cần tạo file kết quả có tên SQUARES.TXT gồm 10 dòng, mỗi dòng ghi một số nguyên duy nhất là kết quả tìm được (số dư khi chia số lượng ô vuông tìm được cho 2013) ứng một giá trị n dưới đây.
      Dòng     n                              SQUARES.TXT
         1           2                                         
         2           3                                    14   
         3           4                                         
         4           5                                         
         5           6                                         
         6           666                                         
         7           7 777                                         
         8           88 888                                         
         9           99 999 999                                         
        10        123456789123456789                                             

                                                           Lời giải tham khảo
var
   i,j,a,b,n,tong: int64;

BEGIN
   Write('Nhap n: '); readln(n);
   Repeat
      i:=i+1; j:=0;
      Repeat
         j:=j+1;
         a:=i; b:=j;
         repeat
            a:=a+1; b:=b+1;
            tong:=tong+1;
         until ((a>n) or (b>n));
      until j=n;
   until i=n;
   Write('So hinh vuong la: 'tong);
   readln;
END.

No comments:

Post a Comment

Cảm ơn bạn đã nhận xét