В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
masha3521
masha3521
16.07.2020 02:09 •  Информатика

ОСТАТОК ОТ ДЕЛЕНИЯ.

Напомним, как в математике определяется остаток от деления целых чисел.
Для любых целых чисел a и b (b ≠ 0) найдется единственная пара целых чисел q и r таких, что a = q×b + r, где 0 ≤ r < |b|.
Здесь a – делимое, b – делитель, q – неполное частное, r – остаток. Следует заметить, что остаток r – это всегда неотрицательное число.
В языках программирования существуют операции для вычисления остатка от деления. Однако эти операции практически всегда в случае отрицательных чисел работают по иным правилам.
Ваша задача – по заданным числам a и b определить значение остатка от деления a на b.

Входные данные

Входной файл INPUT.TXT содержит два целых числа a и b (-1018 ≤ a, b ≤ 1018, b ≠ 0).

Выходные данные

В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры

№INPUT.TXTOUTPUT.TXTПояснение127 4327 = 6*4 + 32-15 41-15 = -4*4 + 13113 -32113 = -37*(-3) + 24-15 -76-15 = 3*(-7) + 6

Показать ответ
Ответ:
ТвояЗайка111
ТвояЗайка111
03.06.2022 10:09
Рассматривая различные прямоугольники и подсчитывая в них число поворотов P, можно прийти к следующему алгоритму. Для любого натурального k получаем:
P=\begin {cases} 0, \ min(M,N)=1 \\4k-2, \ min(M,N)=2k, \, M=N, \, k \in \mathbb N \\ 4k-1, \ min(M,N)=2k, \, M \neq N, \, k \in \mathbb N \\ 4k, \ min(M,N)=2k+1, \, M=N, \, k \in \mathbb N \\ 4k+1, \ min(M,N)=2k+1, \, M \neq N, \, k \in \mathbb N \\ \end {cases}

var
  M, N, k, mn, P: integer;
  f: Text;

begin
  Assign(f, 'input.txt');
  Reset(f);
  Readln(f, M, N);
  Close(f);
  if M < N then mn := M else mn := N;
  if mn = 1 then P := 0
  else begin
    k := mn div 2;
    if mn mod 2 = 0 then
      if M = N then P := 4 * k - 2
      else P := 4 * k - 1
    else
    if M = N then P := 4 * k
    else P := 4 * k + 1
  end;
  Assign(f, 'output.txt');
  Rewrite(f);
  Writeln(f, P);
  Close(f)
end.
0,0(0 оценок)
Ответ:
ден7гв
ден7гв
10.01.2021 02:56
Рассматривая различные прямоугольники и подсчитывая в них число поворотов P, можно прийти к следующему алгоритму. Для любого натурального k получаем:
P=\begin {cases} 0, \ min(M,N)=1 &#10;\\4k-2, \ min(M,N)=2k, \, M=N, \, k \in \mathbb N \\ 4k-1, \ &#10;min(M,N)=2k, \, M \neq N, \, k \in \mathbb N \\ 4k, \ min(M,N)=2k+1, \,&#10; M=N, \, k \in \mathbb N \\ 4k+1, \ min(M,N)=2k+1, \, M \neq N, \, k &#10;\in \mathbb N \\ \end {cases}

var
  M, N, k, mn, P: integer;
  f: Text;

begin
  Assign(f, 'input.txt');
  Reset(f);
  Readln(f, M, N);
  Close(f);
  if M < N then mn := M else mn := N;
  if mn = 1 then P := 0
  else begin
    k := mn div 2;
    if mn mod 2 = 0 then
      if M = N then P := 4 * k - 2
      else P := 4 * k - 1
    else
    if M = N then P := 4 * k
    else P := 4 * k + 1
  end;
  Assign(f, 'output.txt');
  Rewrite(f);
  Writeln(f, P);
  Close(f)
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота