Вопрос задан 15.07.2023 в 23:09. Предмет Информатика. Спрашивает Зарипова Камилла.

Задача №1. Деленне нацело. (100 баллов) Вам даются два целых числа - N и. Ваша задача - заменить

в числе последние 2 цифры таким образом, чтобы результат делился на к. При этом всех таких чисел нужно выбрать наименьшее. Входные данные. В стандартном входном потоке данных (чтение с клавиатуры) в пере строке записано число N. Во второй строке записано число к. Выходные данные. B стандартный выходной поток данных (запись на экран) в программа должна вывести одно число - результат преобразования, описан выше. Ограничения. Время выполнения программы не должно превышать 2 секундь каждого теста. 100 N < 2 000 000 000 1 < k < 100
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Зарубин Ярик.

===== PascalABC.NET =====

begin

 var (N, k) := ReadInteger2;

 N := N div 100 * 100;

 if N mod k <> 0 then

   N := (N div k + 1) * k;

 Write(N)

end.

Объяснение:

Заменяем две последние цифры числа N нулями, для чего делим его на 100 нацело, а затем результат деления умножаем на 100. Принимаем полученное число за N. Делим это новое значение N нацело на k, затем частное увеличиваем на 1 и умножаем эту сумму на k, получая ответ.

Пример.

N = 3571483, k = 97

N / 100 = 35714: 35714 × 100 = 3571400 - это новое значение N

N / k = 3571400 / 97  ≈ 36818 (остаток ненулевой); 36818 + 1 = 36819;

36819 × 97 = 3574143

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи мы можем использовать простой алгоритм.

Сначала, найдем остаток от деления числа N на k. Затем, вычислим значение, на которое нужно уменьшить последние две цифры числа N, чтобы остаток от деления стал равным нулю.

Полученное значение можно получить, вычтя остаток от деления из числа k. Если остаток от деления уже равен нулю, то ничего не нужно менять.

Вот пример реализации этого алгоритма на языке Python:

python
N = int(input()) k = int(input()) remainder = N % k change = (k - remainder) % k result = N - remainder + change print(result)

Программа считывает число N и число k из стандартного входного потока данных и выводит результат преобразования в стандартный выходной поток данных.

Например, если входные данные следующие:

12345678 7

То программа выведет результат:

12345680

Обратите внимание, что предложенное решение будет работать для чисел N и k, удовлетворяющих ограничениям, указанным в задаче.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос