Finding the Radius for an Inserted Circl
题号:NC243173
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

三个圆C_a,C_bC_c均具有半径R且彼此相切,位于二维空间中,如Figure 1所示。然后将半径为R_1 的较小圆C_1插入到由C_a,C_bC_c划定的空白区域中,使得C_1与三个外圆C_a,C_bC_c相切。现在,我们继续以相应的半径 R_k在由C_a, C_c 划定的空白区域中插入许多越来越小的圆C_k ,使得每次插入时,插入的圆始终与三个外圆C_a, C_c相切,如Figure 1所示





(左)在由C_a,C_bC_c划定的空白区域中插入一个较小的圆圈 C_1

(右)在由C_a, C_c 划定的空白区域中插入许多越来越小的圆C_k,使得插入的圆始终与三个外圆C_a, C_c相切的放大图。


现在,给定参数 Rk,请编写一个程序来计算 R_k的值,即第 k 个插入的圆的半径。请注意,由于 R_k的值可能不是整数,只需要输出R_k的整数部分。比如,如果,对于某些 k,您应该输出的答案是1259。再比如,如果,对于某些 k,您应该输出的答案是39


插入的圆的总数不超过10,即

输入描述:

包含

第一行包含一个整数T,测试用例的数量。

第二行包含一个实数R,大圆的半径。

接下来T行,每行包含一个整数k

最后一行包含一个整数,-1,表示输入文件的结尾。

输出描述:

输出T行,每行包含两个用空格分隔的数,k的值。
示例1

输入

复制
1
152973.6
1
-1

输出

复制
1 23665

备注:

原题链接:https://nanti.jisuanke.com/t/A1283