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

Обо­зна­чим через ТРЕУГ(n, m, k) утвер­жде­ние «су­ще­ству­ет не­вы­рож­ден­ный тре­уголь­ник с дли­на­ми сто­рон n, m, k».

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

((ТРЕУГ(x, 10, 20) → (¬(МАКС(x, 8) > 24))) = ¬(ТРЕУГ( 3, A, x)))

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

При­ме­ча­ние: МАКС(a, b)  =  а, если a боль­ше b и МАКС(a, b)  =  b, если a мень­ше или равно b.

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

Ре­ше­ние.

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

def t(n,m,k):

return max(n,m,k) < n + m + k - max(n,m,k)

def f(A,x):

return t(x,10,20) <= (not((max(x,8) > 24)) == (not t(3,A,x)))

for A in range(1000):

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

print(A)

 

Ответ: 27.

 

При­ведём ре­ше­ние Бо­ри­са Са­ве­лье­ва на языке Python.

def F (a,b,c):

if ((a+b)>c) and ((a+c)>b) and ((c+b)>a):

return 1

else:

return 0

for a in range (150,0,-1):

k=0

for x in range (1,1501):

if not((F(x,10,20)==(not(max(x,8)>24))) and F(3,a,x)):

k+=1

else:

break

if k==1500:

print(a)

break

 

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

def F (a,b,c):

m=[a,b,c]

m.sort()

if (m[0]+m[1] > m[2]):

return 1

else:

return 0

for a in range(1,100):

fl=1

for x in range(10000):

f=(F(x,10,20) <= (max(x,8)<=24))== (not(F(3,a,x)))

if f==0:

fl=0

break

if fl:

print(a)


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