Вопрос:

Задание № 6. Ниже приведена программа на языке программирования Python: x = int(input()) y = int(input()) A = int(input()) if (x == 5) or (y > A): print('YES') else: print('NO') Её запускали 6 раз, в качестве значений переменных вводились эти пары чисел: (5;13); (4; 1); (-1; 11); (6; 12); (5; 2); (16; 1). Укажите наибольшее целое значение параметра А, при котором для таких входных данных программа напечатает YES 4 раза.

Ответ:

Давайте проанализируем программу и определим, при каких значениях параметра A программа напечатает 'YES' 4 раза. Программа выводит 'YES', если выполняется хотя бы одно из двух условий: 1. x == 5 2. y > A Нам даны следующие пары чисел (x, y): (5, 13), (4, 1), (-1, 11), (6, 12), (5, 2), (16, 1). Рассмотрим каждую пару и определим, когда будет выводиться 'YES': 1. (5, 13): x == 5, значит, всегда 'YES'. 2. (4, 1): x != 5, 'YES', если y > A, то есть 1 > A. 3. (-1, 11): x != 5, 'YES', если y > A, то есть 11 > A. 4. (6, 12): x != 5, 'YES', если y > A, то есть 12 > A. 5. (5, 2): x == 5, значит, всегда 'YES'. 6. (16, 1): x != 5, 'YES', если y > A, то есть 1 > A. Мы хотим, чтобы 'YES' выводилось 4 раза. Два раза 'YES' гарантированно выводится из-за пар (5, 13) и (5, 2). Значит, нам нужно, чтобы ещё два раза 'YES' выводилось из-за условия y > A. Чтобы получить ровно 4 вывода 'YES', нужно подобрать такое значение A, чтобы условие y > A выполнялось ровно для двух из оставшихся четырех пар. У нас есть следующие условия для пар, где x != 5: * (4, 1): 1 > A * (-1, 11): 11 > A * (6, 12): 12 > A * (16, 1): 1 > A Чтобы 'YES' выводилось 4 раза, нужно чтобы условие y > A выполнялось для двух пар из этих четырех. Это значит, что A должно быть меньше 11 и 12, но при этом условие 1 > A должно выполняться ровно дважды, чтобы всего было 4 вывода 'YES'. Если A = 1, то условие y > A выполнится для пар (-1, 11) и (6, 12), то есть 11 > 1 и 12 > 1. В этом случае 'YES' будет выведено 4 раза (2 раза из-за x==5 и 2 раза из-за y>A). Если A = 10, то условие y > A выполнится для пар (-1, 11) и (6, 12), то есть 11 > 10 и 12 > 10. В этом случае 'YES' будет выведено 4 раза (2 раза из-за x==5 и 2 раза из-за y>A). Если A = 11, то условие y > A выполнится только для пары (6, 12), так как 12 > 11. В этом случае 'YES' будет выведено 3 раза (2 раза из-за x==5 и 1 раз из-за y>A). Если A = 12, то условие y > A не выполнится ни для одной из пар, где x != 5. В этом случае 'YES' будет выведено 2 раза (только из-за x==5). Нам нужно найти наибольшее целое A, при котором выводится 4 раза 'YES'. Если A = 10: * (5, 13): YES * (4, 1): NO (1 > 10 - неверно) * (-1, 11): YES (11 > 10) * (6, 12): YES (12 > 10) * (5, 2): YES * (16, 1): NO (1 > 10 - неверно) Всего 4 раза YES. Если A = 11: * (5, 13): YES * (4, 1): NO * (-1, 11): NO (11 > 11 - неверно) * (6, 12): YES (12 > 11) * (5, 2): YES * (16, 1): NO Всего 3 раза YES. Таким образом, наибольшее целое значение A, при котором программа напечатает 'YES' 4 раза, равно 10. Ответ: 10
Смотреть решения всех заданий с листа
Подать жалобу Правообладателю

Похожие