[Thuật toán] Đếm hình vuông
{$MODE OBJFPC} program SquareCounter; const InputFile = 'SQUARES.INP'; OutputFile = 'SQUARES.OUT'; m = 2013; var fi, fo: TextFile; n: Int64; x: array[1..3] of Int64; i: Integer; res: Int64; begin AssignFile(fi, InputFile); Reset(fi); AssignFile(fo, OutputFile); Rewrite(fo); try while not SeekEof(fi) do begin ReadLn(fi, n); x[1] := n; x[2] := n + 1; x[3] := 2 * n + 1; for i := 1 to 3 do if x[i] mod 2 = 0 then begin x[i] := x[i] div 2; Break; end; for i := 1 to 3 do if x[i] mod 3 = 0 then begin x[i] := x[i] div 3; Break; end; res := (x[1] mod m) * (x[2] mod m) * (x[3] mod m) mod m; WriteLn(fo, res); end; finally CloseFile(fi); CloseFile(fo); end; end.
Do mình muốn các bạn đọc đề bài và nghĩ cách giải, sau đó mới xem lời giải của mình và tiếp đó là xem code nên có đặt tại nhiều trang và mình cũng tin các bạn sẽ không muốn đọc đề mà lại có lời giải ngay.
Trang 4 sẽ nói về một số điều và mở rộng về công thức trong bài của chúng ta:
Phản hồi gần đây