Не больше двух из трёх положительных... :)
Посмотрел, как люди решают мучаются:
Записать условие: "Заданы целые значения 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 для сомневающихся :)
Кстати, условие
(a>0) xor (b>0) xor (c>0)
будет соответствовать случаю "только одно или все 3 значения положительны".
20.11.2015, 17:01 [5881 просмотр]