№1. деленне нацело. (100 )

вам два целых числа - n и. ваша - заменить в числе последние 2 цифры таким образом, чтобы результат делился на к. при этом всех таких чисел нужно выбрать наименьшее. входные данные.

в стандартном входном потоке данных (чтение с клавиатуры) в пере

строке записано число n. во второй строке записано число к. выходные данные.

b стандартный выходной поток данных (запись на экран) в программа должна вывести одно число - результат преобразования, описан выше. ограничения.

время выполнения программы не должно превышать 2 секундь

каждого теста.

100 n < 2 000 000 000 1 < k < 100

aliolga aliolga    2   13.12.2019 10:37    5

Ответы
demorgan512 demorgan512  10.10.2020 20:23

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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика