[HDU5752]Sqrt Bo
Problem Description
Let’s define the function f(n)=⌊n√⌋.
Bo wanted to know the minimum number y which satisfies fy(n)=1.
note:f1(n)=f(n),fy(n)=f(fy−1(n))
It is a pity that Bo can only use 1 unit of time to calculate this function each time.
And Bo is impatient, he cannot stand waiting for longer than 5 units of time.
So Bo wants to know if he can solve this problem in 5 units of time.
Input
This problem has multi test cases(no more than 120).
Each test case contains a non-negative integer n(n<10100).
Output
For each test case print a integer - the answer y or a string “TAT” - Bo can’t solve this problem.
Sample Input
233
233333333333333333333333333333333333333333333333333333333
Sample Output
3
TAT
Source
2016 Multi-University Training Contest 3
分析
由于有5次的这个限制,所以尝试寻找分界点。
很容易发现是232,所以我们先比较输入的数字是否比这个大,然后再暴力开根。
复杂度是O(loglogn)。
注意特判n=0的情况。
|
|