“So basically, the algorithm is as follows (Assuming collapse initiation at floor 73):
Take the mass of floors 73 through 111 (call this m(Sum(39)), and calculate the downward momentum after falling through a single floor. You certainly can easily calculate the downward velocity at impact and the time interval required for this first impact to occur. Call them v0 and t0
At height = 72 floors, by conservation of momentum, the total downward momentum a split second before impact:
p(m(Sum(39))) ( p is standard nomenclature for momentum )
must equal the total downward momentum after impact:
p(m(Sum(39))) + p(m(Floor 72))
But this is just
p(m(Sum(40))) (i.e, the momentum of the top 40 floors)
Since you know p(m(Sum(40))), and since you know m(Sum(40)), you very easily can determine the new downward velocity of the combined mass right after this first impact (of course, it will be less than the downward velocity of m(Sum(39)) just before impact)
Using these values, you basically iterate the process sketched out above.
You end up with a set of time intervals, t0, t1, t2, ... t71 such that when you add them up, you get the total time of collapse.