JavaScript (V8), 87 bytes
Prints the results.
n=>{for(t=0,x=w=1e6;x--+w;t*n>15708e8&&print((x*x)**.5/1e4+.49|(t=0)))t+=(w*w-x*x)**.5}
NB: This gives the same results as the OP for all test cases. We may disagree for some other inputs, but I've no way of knowing.
Commented
n => { // n = input
for( // loop:
t = 0, // start with t = 0
x = w = 1e6; // and x = w = 1000000
x-- + w; // stop when x = -w (decrement x afterwards)
t * n > 15708e8 // if t * n > round(pi / 2 * w² / 10^8) * 10^8 ...
&& //
print( // ... print floor(abs(x) * 100 / w + 0.49)
(x * x) ** .5 //
/ 1e4 + .49 //
| (t = 0) // and reset t to 0
) //
) //
t += // at each iteration, add to t:
(w * w - x * x) // sqrt(w² - x²)
** .5 //
} //