Нарушением условия является случай, когда у мальчика (М) или у девочки (Д) оба соседа того же пола, следовательно недопустимой является расстановка МММ или ДДД. Отсюда возникает условие, что количество М и Д не могут отличаться более, чем вдвое, т.е. 0.5 ≤ X/Y ≤ 2 Программа должна учитывать особенности реализации целых и вещественных чисел в ЭВМ, а также особенности выполнения операции деления и сравнения.
var X, Y: integer; b: boolean; F: Text; begin Assign(f,'input.txt'); Reset(f); Readln(X,Y); Close(f); if X > Y then b := (X / Y <= 2) else b := (Y / X <= 2); if b then writeln('YES') else writeln('NO') end.
Тестовое решение:
YES
Titeeva-Vladimirovich283
18.01.2021
Задача достаточно интересная, получил удовольствие от решения. Шестнадцатиричное число, занимающее два разряда, может рассматриваться как две тетрады двоичных чисел. Пронумеруем разряды слева направо, тогда можно представить двухзначное 16-ричное число следующим набором битов: Индексы, кроме положения бита, показывают степень двойки, на которую надо умножить бит, чтобы перейти к десятичному эквиваленту шестнадцатиричной цифры, т.е. старшая цифра в десятичной системе запишется как Умножение числа на 2 в двоичной системе эквивалентно его сдвигу влево на один разряд. При этом старший разряд старшей тетрады должен перейти в новую, третью тетраду или он будет утерян. Но по условию, после умножения число по-прежнему имеет два разряда, следовательно мы должны потерять старший разряд безболезненно, а это возможно только если он нулевой. Тогда первоначальное число должно быть записано как а после удвоения его запись примет вид Запишем сумму цифр исходного числа p1: Теперь запишем сумму удвоенного числа p2: По условию эти две суммы равны и мы составляем уравнение: Полученное уравнение решается на множестве двоичных чисел. Поскольку исходное число двузначное, по крайней мере в старшем разряде оно содержит цифру, отличную от нуля. Следовательно, b3 не может равняться нулю и остается только положить b3=1. Тогда уравнение (1) примет следующий вид: Учитывая, что каждый бит может принимать значения только 0 и 1, мы должны найти такие комбинации бит, которые дадут в сумме 7=4+2+1, потому что у нас в уравнении только такие коэффициенты. Сгруппируем члены в (2): Полученная система уравнений будет иметь 7 вариантов решений (вариант a2=a1=a0=0 исключается в силу необходимости наличия цифры в старшем разряде), которым в старшем разряде будут соответствовать цифры от 001(2) до 111(2) или от 1(10) до 7(10).
ответ: 7
Замечание: Из (3) можно легко найти числа, которые соответствуют заданным условиям: 30, 45, 60, 75, 90, 105, 120 (все в десятичной системе счисления). В 16-ричной системе они запишутся как 1E, 2D, 3C, 4B, 5A, 69, 78.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Известен объем продукции, выпускаемой десятью предприятиями отрасли. вычислите средний объем продукции, выпускаемой одним предприятием
Qср = Q1+Q2+...+Q10 /10