Задания
Версия для печати и копирования в MS Word
Тип 15 № 35473
i

Обо­зна­чим через ДЕЛ(n, m) утвер­жде­ние «на­ту­раль­ное число n де­лит­ся без остат­ка на на­ту­раль­ное число m».

Для ка­ко­го наи­мень­ше­го на­ту­раль­но­го числа А фор­му­ла

ДЕЛ(A, 45) ∧ (ДЕЛ(750, x) → (¬ДЕЛ(A, x) → ¬ДЕЛ(120, x)))

тож­де­ствен­но ис­тин­на (то есть при­ни­ма­ет зна­че­ние 1 при любом на­ту­раль­ном зна­че­нии пе­ре­мен­ной x)?

Спрятать решение

Ре­ше­ние.

Пре­об­ра­зу­ем скоб­ку:

ДЕЛ(750, x) → (¬ДЕЛ(A, x) → ¬ДЕЛ(120, x)) ⇔ ¬ДЕЛ(750, x) ∨ ДЕЛ(A, x) ∨ ¬ДЕЛ(120, x)

Рас­смот­рим такие x, при ко­то­рых вы­ра­же­ние ¬ДЕЛ(750, x) ∨ ¬ДЕЛ(120, x) будет лож­ным. Это x, на ко­то­рые од­но­вре­мен­но де­лят­ся без остат­ка 750 и 120. Наи­боль­ший общий де­ли­тель этих чисел равен 30.

Сле­до­ва­тель­но, не­об­хо­ди­мо по­до­брать такое число, ко­то­рое будет яв­лять­ся наи­мень­шим общим крат­ным для чисел 30 и 45. Наи­мень­шим таким А яв­ля­ет­ся число 90. Это и будет ответ.

 

Ответ: 90.

 

При­ведём дру­гое ре­ше­ние на языке Python.

for A in range(1, 101):

k = 0

for x in range(1, 1000):

if (A % 45 == 0) and ((750 % x == 0) <= ((A % x != 0) <= (120 % x != 0))):

k += 1

if k == 999:

print(A)

break

 

При­ведём ре­ше­ние Ни­ки­ты Тир­бах на языке Python.

def f(x,A):

return (A % 45 == 0) and ((750 % x == 0) <= ((A % x != 0) <= (120 % x != 0)))

 

for A in range(1,200):

if all(f(x,A) for x in range(1,500)):

print(A)

break

 

При­ведём ре­ше­ние Ми­ха­и­ла Глин­ско­го на языке Python.

for A in range(1, 101):

fl=1

for x in range(1, 1000):

f=(A % 45 == 0) and ((750 % x == 0) <= ((A % x != 0) <= (120 % x != 0)))

if f==0:

fl=0

break

if fl:

print(A)

break


Аналоги к заданию № 35473: 35904 Все

Раздел кодификатора ФИПИ: 1.5.1 Вы­ска­зы­ва­ния, ло­ги­че­ские опе­ра­ции, кван­то­ры, ис­тин­ность вы­ска­зы­ва­ния