Дано натуральное (целое неотрицательное) число а и целое положительное число d. Вычислить частное q и остаток r при делении а на d, не используя операций div и mod.

Решение. Согласно определению, a = q * d + r, 0 <= r < d.

  {a >= 0; d > 0}
  r := a; q := 0;
  {инвариант: a = q * d + r, 0 <= r}
  while not (r < d) do begin
  | {r >= d}
  | r := r - d; {r >= 0}
  | q := q + 1;
  end;



2009-11-01 • Просмотров [ 1059 ]