Recursive Mathematical Puzzle from a high school contest
I solved this in excel, as my work machine doesn't have any languages on it. obviously the input/output part doesn't quite match the question... so psuedocode answer :

Setup

Array Heights[200][1500]

for v = 1 to 200
  Heights[v][1] = 1
for d = 1 to 1500
  Heights[1][d] = d
for d = 2 to 200
  for d = 2 to 1500
    Heights[v][d] = Heights[v-1][d-1] + Heights[v][d-1] + 1


'Heights' now contains all the answers within range. (sort of)

Solutions

for each input (V,N) :
d = 1
while (d &lt;= 1500) and (Heights[V][d] &lt; N)
  d++
print d


A few notes:


if speed is vital the search in the 'solution' part can be replaced with a binary search
because of the 1500 limit on floors, you never need to consider more than 11 vases. (in fact if V > log2(N+1), then answer is just round up log2(N+1) )  ((ie binary vase drop search))
There is slight ambiguity in the question regarding the first floor. It says 'if it breaks on the 1st floor, he will live on the 1st floor' which leads to 'if it breaks on the 2nd floor, he will live on the 1st floor regardless of whether or not it breaks on the 1st'...