「解の個数」を求めることに注意する.とりあえず,a=0, b=0はないと仮定する.a=0の時は解は1つ.それ以外の時は,判別式の値が負で解は0個, 0で解は1個(重解),正で2個となる.
def solutions(a,b,c)
  if a == 0
    1
  else
    d = b * b - 4 * a * c
    if d < 0
      0
    else
      if d == 0
        1
      else
        2
      end
    end
  end
end
irb(main):046:0> solutions(0,1,3)
=> 1
irb(main):047:0> solutions(1,2,1)
=> 1
irb(main):048:0> solutions(1,2,2)
=> 0
irb(main):049:0> solutions(1,2,0)
=> 2
  6通りに分岐するプログラム
def median(x,y,z)
  if x <= y
    if y <= z
      y
    else
      if x <= z
        z
      else
        x
      end
    end
  else
    if x <= z
      x
    else
      if y <= z
        z
      else
        y
      end
    end
  end
end
irb(main):097:0* median(3,1,2)
=> 2
irb(main):098:0> median(1,2,3)
=> 2
irb(main):099:0> median(1,3,2)
=> 2
irb(main):100:0> median(3,2,1)
=> 2
irb(main):101:0> median(2,1,3)
=> 2
irb(main):102:0> median(2,3,1)
def median(x,y,z)
  if (x<=y && y<=z) || (z<=y && y<=x)
    y
  else
    if ( z<=x && x<=y ) || ( y <=x && x <= z )
      x
    else
      z
    end
  end
end