Программа, которая вычислит, сколько всего точек с целочисленными координатами принадлежат отрезку — Паскаль(Pascal) — CF

Входные данные
Даны четыре целых числа – координаты концов отрезка (x1, y1) и (x2, y2). Каждая из координат не превышает по абсолютной величине значения 1000.

Выходные данные
Требуется вывести количество точек отрезка, имеющих целочисленные координаты.

var
  x1, y1, x2, y2, x, k: integer;
begin
  readln(x1, y1, x2, y2);
  if x1 = x2 then
    begin
      x := x1;
      x1 := y1;
      y1 := x;
      x := x2;
      x2 := y2;
      y2 := x
    end;
  if x1 > x2 then
    begin
      x := x1;
      x1 := x2;
      x2 := x;
      x := y1;
      y1 := y2;
      y2 := x
    end;
  for x := x1 + 1 to x2 do
    if (x - x1) * (y2 - y1) mod (x2 - x1) = 0 then inc(k);
  writeln(k + 1)
end.

Программа на onlinedgb

Leave a Comment