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

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

===== 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



Для решения этой задачи мы можем использовать простой алгоритм.
Сначала, найдем остаток от деления числа N на k. Затем, вычислим значение, на которое нужно уменьшить последние две цифры числа N, чтобы остаток от деления стал равным нулю.
Полученное значение можно получить, вычтя остаток от деления из числа k. Если остаток от деления уже равен нулю, то ничего не нужно менять.
Вот пример реализации этого алгоритма на языке Python:
pythonN = 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, удовлетворяющих ограничениям, указанным в задаче.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili