思路
根据第一列是完全平方数可知,$(i,1)\rightarrow i^2$,$(1,i)=(i-1)^2+1$,$(i,i)=\frac{i^2+(i-1)^2+1}{2}$。由此可以推算任意$n$的位置。
代码
1 2 3 4 5 6 7 8 9 10 11 12
| import math _t=int(input()) for _c in range(_t): n=int(input()) s=math.ceil(math.sqrt(n)) mid=(pow(s-1,2)+1+pow(s,2))>>1 if(n<=mid): ans=(n-pow(s-1,2),s) else: ans=(s,pow(s,2)-n+1) print(ans[0],ans[1])
|