БлогNot. Не больше двух третей положительных... :)

Помощь дата->рейтинг Поиск Почта RSS канал Статистика nickolay.info Домой

Не больше двух третей положительных... :)

Посмотрел, как люди решают мучаются:

Записать условие: "Заданы целые значения a,b,c. Среди них не более 2 положительных значений"

Меж тем, если решать "в лоб" - будут километровые условия, например

(a<=0) xor (b<=0) xor (c<=0) //нет или два положительных

or

(a > 0) and (b <= 0) and (c <= 0) xor
(b > 0) and (a <= 0) and (c <= 0) xor
(c > 0) and (a <= 0) and (b <= 0)      //только одно из трёх положительно

Как это часто бывает, задачу достаточно логически "перевернуть". Единственный случай, когда из трёх чисел "более двух положительных" - когда положительны все три числа. Берём от этого случая отрицание и условие элементарно записывается в виде

not ((a>0) and (b>0) and (c>0))
Проверка в MathCAD для сомневающихся :)
Проверка в MathCAD для сомневающихся :)

Кстати, условие

(a>0) xor (b>0) xor (c>0)

будет соответствовать случаю "только одно или все 3 значения положительны".


теги: mathcad маразм учебное

20.11.2015, 17:01; рейтинг: 4555

  свежие записипоиск по блогукомментариистатистикао "вирусах" в архивах .zip

Наверх Яндекс.Метрика
© PerS
вход