Конференция "Прочее" » Количество отрицтельных чисел
 
  • Professor (29.03.08 15:07) [0]
    тут одна простенькая задача накануне поставила меня в тупик.. чувствую что на элементарщине попался..

    Дано 3 числа, найти количество отрицательных чисел, использую 2 оператора условия.

    PS битовыми операциями пользоваться нельзя.
  • Alien1769 © (29.03.08 15:48) [1]
    Комбинации из трех чисел.
  • Palladin © (29.03.08 16:00) [2]
    Задача не имеет решения. Вариантов решения 4,  но условных сравнений 2. Это означает всего лишь 3 варианта ветвлений.

    Вот если ввести условие, что есть хотя бы одно отрицательно то все просто.
  • vrem_ (29.03.08 16:12) [3]
    складывать можно?
  • Professor (29.03.08 16:15) [4]
    думаю можно

    > Вот если ввести условие, что есть хотя бы одно отрицательно
    > то все просто.

    про доп. условия ничего не говорили (
  • Palladin © (29.03.08 16:21) [5]

    > Professor   (29.03.08 16:15) [4]


    тогда решения нет. нужно минимум 3 условия. тогда тоже все просто.


    > vrem_   (29.03.08 16:12) [3]

    :) можно, хоть до потери пульса
  • Andy BitOff © (29.03.08 16:25) [6]

    > Palladin ©

    Но ведь он говорит "отрицательных чисел, использую 2 оператора условия." и на опечатку не похоже, т.к. ю и я в разных сторонах клавиатуры. А если использует ОН, то это его проблемы ;)
  • evvcom © (29.03.08 16:30) [7]
    select sum(case when value < 0 then 1 else 0) from MyTable


    Один оператор условия! :-)))
  • guav © (29.03.08 16:39) [8]
    > 2 оператора условия

    А что это ?
    если это ифы, то можно.

    count := 0;
    if (a1 < 0) and (a2 < 0) or
      (a1 < 0) and (a3 < 0) or
      (a2 < 0) and (a3 < 0) then
     Inc(count, 2);
    if (count = 2) and (a1 < 0) and (a2 < 0) and (a3 < 0) or
      (count = 0) and ((a1 < 0) or (a2 < 0) or (a3 < 0)) then
     Inc(count, 1);

    а ещё можно без ифов вообще - переводить boolean в число через ord, использовать case или операторы цикла.
  • Professor (29.03.08 16:58) [9]

    > Andy BitOff ©   (29.03.08 16:25) [6]

    это не более, чем опечатка.


    > guav ©   (29.03.08 16:39) [8]

    о! благодарю, по-моему то что надо )
  • vrem_ (29.03.08 17:02) [10]
    ну как это то что надо?
    условие это когда один раз сравнивают, а там посмотри - больше чем один раз!
  • Professor (29.03.08 17:04) [11]

    > vrem_   (29.03.08 17:02) [10]


    > условие это когда один раз сравнивают


    > Professor   (29.03.08 15:07) 


    >  использую 2 оператора условия.
  • Palladin © (29.03.08 17:19) [12]

    > Professor   (29.03.08 17:04) [11]

    млин, лучше бы ты просто написал "два if'а"... лично я воспринял как два сравнения....
  • Andy BitOff © (29.03.08 17:22) [13]

    > Professor   (29.03.08 17:04) [11]

    vrem_ имел в виду, что внутри первого ифа, в коде guav'а, ведется проверка по 11 условиям.
  • Palladin © (29.03.08 17:36) [14]

    > Professor   (29.03.08 17:04) [11]

    млин, лучше бы ты просто написал "два if'а"... лично я воспринял как два сравнения....
  • Palladin © (29.03.08 17:41) [15]
    прошу прощения за дубль... IE mobile блин...


    > Andy BitOff ©   (29.03.08 17:22) [13]

    да условий понятно много... а вот условных оператора только два... задачка старая, олимпиадная...
  • Alien1769 © (29.03.08 17:54) [16]

    > guav ©   (29.03.08 16:39) [8]

    +1
    Вот про какие комбинации я говорил в 1 посте,
    возможно не внятно написал...
  • builder (29.03.08 19:27) [17]

    > а ещё можно без ифов вообще - переводить boolean в число
    > через ord, использовать case или операторы цикла.


    плохо
 
Конференция "Прочее" » Количество отрицтельных чисел
Есть новые Нет новых   [134433   +22][b:0][p:0.001]