Заменяем две последние цифры числа 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;
1.
uses Robot;
begin
Task('if2');
paint;
right;
if wallfromright then
begin
paint;
left;
end
else left;
left;
if wallfromleft then
begin
paint;
right;
end
else right;
down;
if wallfromdown then
begin
paint;
up;
end
else up;
up;
if wallfromup then
begin
paint;
down;
end
else down;
end.
2.
uses Robot;
begin
Task('if3');
if wallfromdown and wallfromleft then
begin
up;
right;
paint;
end
else if wallfromleft and wallfromup then
begin
down;
right;
paint;
end
else if wallfromdown and wallfromright then
begin
up;
left;
paint;
end
else if wallfromright and wallfromup then
begin
down;
left;
paint;
end;
end.
3.
uses Robot;
begin
Task('if4');
if wallfromright then
begin
left;
paint;
end
else if wallfromleft then
begin
right;
paint;
end
else if wallfromup then
begin
down;
paint;
end
else if wallfromdown then
begin
up;
paint;
end
end.
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