Память содержит N свободных участков, расположенных в порядке возрастания адресов оперативной памяти. Их размеры соответственно равны V1, V2, …, V N . Загружается процессы, для которых необходимы объемы оперативной памяти, равные соответственно W1 и W2. Необходимо определить, участки куда будет загружаться процесс при использовании алгоритмов: - первый подходящий участок; - самый подходящий участок; - самый неподходящий участок.
a, b, c, d = list(map(float, input().split()))
print(False if (c == d) else ((a + b + c + d)/(c - d)).is_integer())
Сначала вводим 4 вещественных числа a, b, c, d.
Если c = d, то ответ False - частное будет нехорошим, поскольку в знаменателе будет 0. Если c не равно d, проверяем при встроенной функции is_integer(), что (a + b + c + d)/(c - d) - целое число.
Если a, b, c, d - целые, то float в решении можно заменить на int, а проверку при на проверку, что остаток от деления равен нулю, (a + b + c + d) % (c - d) == 0.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrReal('Введите 4 числа:',4);
if Frac(a.Sum/(a[3]-a[2]))=0 then Writeln('Целый результат')
else Writeln('Нецелый результат')
end.
Примеры
Введите 4 числа: 7.2 1.8 25.5 5.5
Целый результат
Введите 4 числа: 36 18.6 12 5
Нецелый результат
Объяснения:
Первый (после begin) оператор объявляет массив из четырех вещественных элементов и заполняет его вводимыми с клавиатуры данными.
Второй делает остальное: вычисляет результат, проверяет, целочисленный ли он и выводит соответствующее сообщение на монитор.