Форум » Логические выражения » задание 15 задача 425 » Ответить

задание 15 задача 425

flo23: 425) (С. Скопинцева) Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа А формула ¬ (ДЕЛ(x, 16) ≡ ДЕЛ(x, 24))  ДЕЛ(x, A) тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной x)? Написала программу решения следующего задания , но ответа не могу получить. Что я не учитываю? Или я неправильно записала формулу? На что нужно смотреть внимательно при написании формулы в этом задании? Ниже программа, которая не проходит [pre2] def Del(x,d): return x%d == 0 def F(x,A): return not(Del(x,16)== Del(x,24)) <= Del(x,A) k=0 for A in range(1,10000): OK = True for x in range(1,100000000): if not F(x,A): OK = False break if OK: print(A)[/pre2] Все же нашла выход и решение этой задачи, записала формулу по-другому и программа дала верный ответ: [pre2] def f( x, A ): return ((x%16==0)!= (x%24==0)) <= (x%A==0) for A in range(1,1000): OK = True for x in range(1,1000): if not f(x,A): OK = False break if OK: print( A )[/pre2] Но все же для меня пока остается загадкой, почему первая моя программа написано не верно:( Почему программа не дала ответа?

Ответов - 1

Поляков: flo23 пишет: почему первая моя программа написано не верно:( Почему программа не дала ответа? Потому что <= выполняется раньше, чем not. Нужно так: [pre2]def F(x,A): return ( not(Del(x,16)== Del(x,24)) ) <= Del(x,A) [/pre2]



полная версия страницы