Предмет: Информатика,
автор: zhenyaelesin03
Задача №1. Деленне нацело. (100 баллов)
Вам даются два целых числа - N и. Ваша задача - заменить в числе последние 2 цифры таким образом, чтобы результат делился на к. При этом всех таких чисел нужно выбрать наименьшее. Входные данные.
В стандартном входном потоке данных (чтение с клавиатуры) в пере
строке записано число N. Во второй строке записано число к. Выходные данные.
B стандартный выходной поток данных (запись на экран) в программа должна вывести одно число - результат преобразования, описан выше. Ограничения.
Время выполнения программы не должно превышать 2 секундь
каждого теста.
100 N < 2 000 000 000 1 < k < 100
Ответы
Автор ответа:
1
===== 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
zhenyaelesin03:
Сожалею,неверно
Похожие вопросы
Предмет: Алгебра,
автор: likaliras2022
Предмет: Русский язык,
автор: LaGMaNkg
Предмет: Английский язык,
автор: turebaevaaakoz
Предмет: Математика,
автор: LezaKarter
Предмет: Математика,
автор: Аноним