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

E. Ставки на Межгалактических гонках (7-8 класс) Ограничение времени 1 секунда
Ограничение памяти 256.0 Мб
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Дамы и господа! Я рад приветствовать вас на очередных Межгалактических гонках на космолётах малой мощности! Сегодня за право чемпиона сражаются действующий чемпион Вильямс-Генрих-III из клана Братьев Флепикс и его многочисленные соперники из сотни достойных кланов из различных уголков Вселенной. Дамы и господа! Открывать гонку выпала честь всем известному сэру Виктору де Борсу из клана Снежных барсов. По правилам гонки в первом заезде он сразится с действующим чемпионом Вильямсом-Генрихом-III из клана Братьев Флепикс. Ставка Виктора де Борса составляет A долларов, ставка Вильяма-Генриха-III – B долларов. Дамы и господа! Смею сообщить вам, что болельщики не довольны ставками Виктора де Борса и Вильямса-Генриха-III. Дамы и господа! С этим нужно что-то делать! Напоминаю, что азарт болельщиков равен наибольшему общему делителю A и B. Гонщики! Давайте сделаем гонку азартной. По нашим правилам, исправить ситуацию предоставляется право Виктору де Борсу. Он имеет право увеличить и A и B на 1. Либо уменьшить и А и В на 1, но только в том случае, когда оба этих значения больше 0. Дамы и господа! За один шаг Виктор де Борс может выполнить любую из этих операций. Виктор де Борс может сделать любое (в том числе и ноль) число шагов. Дамы и господа! По правилам нашей гонки Виктор де Борс должен достичь максимально возможный азарт болельщиков за минимальное число шагов, иначе ему будет присуждено техническое поражение! Поддержим нашего героя аплодисментами! И да пребудет с ним сила! Вперёд и удачи!

Формат ввода
Первая строка содержит целое число t (1 ≤ t ≤ 5⋅10^3) – количество наборов входных данных. Первая и единственная строка каждого набора входных данных содержит два целых числа А и В (0 ≤ A, B ≤ 10^18).

Формат вывода
Для каждого набора входных данных выведите строку, содержащую два целых числа. Если болельщики могут испытать бесконечный азарт выведите 0 0. Иначе, выведите два числа, первое из которых – максимальный азарт, который могут испытать болельщики, второе число – минимальное количество шагов, позволяющее достичь этот азарт.

Примечания
Для набора (8, 5) можно проделать первую операцию один раз, то есть получить (9, 6). Тогда НОД(9, 6) = 3. Это и будет максимально возможным азартом болельщиков. Для набора (1, 2) изначальный азарт равен 1. Это и будет максимально возможным азартом. Для набора (4, 4) болельщики могут испытать бесконечный азарт, если мы применим первую операцию бесконечное количество раз. Для набора (3, 9) можно применить вторую операцию 3 раза, тогда мы получим набор (0, 6). НОД(0, 6) = 6. Это и будет максимально возможным азартом.

Показать ответ
Ответ:
АнгелТих
АнгелТих
28.07.2022 15:28
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
begin
  var a:=MatrixRandom(7,7,0,9);
  var k:=0;
  for var i:=0 to 6 do begin
    for var j:=0 to 6 do begin
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.

Тестовое решение:
  2  1  7  3  3  2  7
  9  2  9  2  0  5  5
  4  2  6  9  4  6  0
  1  0  3  5  4  5  9
  6  3  6  0  2  0  8
  0  8  4  3  2  1  8
  6  0  4  4  5  4  0
Кол-во элементов на [1,5]: 27

Вариант "совсем для школы"

const
  n=7;
var
  a:array[1..n,1..n] of integer;
  i,j,k:integer;
begin
  Randomize;
  k:=0;
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(10);
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.
0,0(0 оценок)
Ответ:
sashaboyko999p089tm
sashaboyko999p089tm
25.06.2022 10:57

1. Внимательно читаете задачу. Вникаете в смысл. Выясняете, все ли термины  известны и понятны. Детально представляете себе ситуацию задачи или как идет прощесс, описанный в задаче.

2. Записываете данные.

3. Записываете, что нужно найти.

4. Вспоминаете все возможные соотношения и формулы, связывающие параметры, данные в задаче, с тем параметром, который нужно найти.

5. Решаете задание в общем виде - это значит выводите формулу, в которой известны все величины, кроме искогомого. Подставляете известные значения в формулу и вычисляете. Можно делать вычисления и постадийно - это уж как вам удобно.

6. Проверяете размерности. В конечную формулу вместо числовых значений подставляются размерности соответствующих величин. Если конечная размерность не соответствует размерности искомого, значит нужно искать ошибку. Если соответсвует, то это еще не полная гарантия, что ответ правильный.

7. Проверка. Решаем обратную задачу: считаем, что какое-либо из первоначальных данных неизвестно, и на основании найденного ответа вычисляем этот "условно неизвестный параметр". Если результат вычислений совпадает в данными, значит задача решена верно. Если нет - ищите ошибку.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота