Дядя федор и почтальон печкин готовятся к холодной зиме в деревне простоквашино. для этого необходимо подвести отопление от котельной к домам дяди федора и почтальона печкина. для удобства представим территорию простоквашино как клетчатую сетку, причем котельная будет находиться в клетке (0, 0). дом дяди федора расположен в клетке (a, b), а почтальона печкина — в (c, d).
территория простоквашино как клетчатая сетка
в начале строительства считается, что отопление доведено только до клетки с котельной. затем, каждый день рабочие могут провести теплотрассу до любой клетки, которая на текущий момент является соседней с хотя бы одной клеткой, куда отопление уже доведено. клетки называются соседними, если у них есть общая сторона.
соседи для клетки (x, y)
требуется написать программу, вычисляющую минимальное число дней, которое понадобится рабочим, чтобы провести отопление к обоим домам.
входные данные
в первой строке заданы два целых числа a и b через пробел. во второй строке заданы два целых числа c и d через пробел. гарантируется, что все числа находятся в промежутке от - 104 до 104. котельная, дом дяди федора и дом почтальона печкина находятся в трех разных клетках.
выходные данные
выведите единственное число — минимальное количество дней, которое понадобится, чтобы подвести отопление к домам дяди федора и почтальона печкина.
program a2;
var
a, x1, y1, z1, l1, z, l: string;
i, g, d, f, a1, b1, sum, vr, vr1, err: int64;
begin
readln(a);
g := pos(';', a);
x1 := copy(a, 2, g - 2);
y1 := copy(a, g + 2, length(a) - g - 2);
if a[1] = '[' then d := 1
else d := 0;
if a[length(a)] = ']' then f := 1
else f := 0;
if pos('/', x1) <> 0 then begin
z := copy(x1, 1, pos('/', x1) - 1);
z1 := copy(x1, pos('/', x1) + 1, length(x1) - pos('/', x1));
val(z, vr, err);
val(z1, vr1, err);
a1 := vr div vr1;
end
else val(x1, a1, err);
if pos('/', y1) <> 0 then begin
l := copy(y1, 1, pos('/', y1) - 1);
l1 := copy(y1, pos('/', y1) + 1, length(y1) - pos('/', y1));
val(l, vr, err);
val(l1, vr1, err);
b1 := vr div vr1;
end
else val(y1, b1, err);
for i := a1 to b1 do sum := sum + 1;
val(z, vr, err);
val(z1, vr1, err);
if (d = 0) then
if vr = 0 then sum := sum - 1
else if (vr mod vr1 = 0) then sum := sum - 1;
val(l, vr, err);
val(l1, vr1, err);
if (f = 0) then
if vr = 0 then sum := sum - 1
else if (vr mod vr1 = 0) then sum := sum - 1;
writeln(sum);
end.
На не благодари)
k = int(0)
m = int(input("Введите M: "))
while m > 0:
if m % 10 % 2 == 0:
k += 1
m //= 10
print("Четных цифр = ", k)
Объяснение:
k = int(0) // Создание целочисленной переменной k и присвоение ей значения 0 (ноль)
m = int(input("Введите M: ")) // Ввод с клавиатуры целочисленной переменной m
while m > 0: // Пока значение переменной m > 0
if m % 10 % 2 == 0: // Если остаток от деления значения переменной m на 10 и на 2 = 0
k += 1 // К значению переменной k прибавляем 1 (единицу)
m //= 10 // Отделяем последнее число от значения переменной m путем целочисленного деления на 10
print("Четных цифр = ", k) // Вывод значения переменной k