CreationAugust is 14 years old forever
阿新 • • 發佈:2018-12-24
Description
曉華所在的工作組正在編寫一套高精度科學計算的軟體,一些簡單的部分如高精度加減法、乘除法早已寫完了,現在就剩下曉華所負責的部分:實數的高精度開m次根。因為一個有理數開根之後可能得到一個無理數,所以這項工作是有較大難度的。現在要做的只是這項工作的第一步:只對自然數進行開整數次根,求出它的一個非負根,並且不考慮結果的小數部分,只要求把結果截斷取整即可。程式需要根據給定的輸入,包括需要開根的次數,以及被開根的整數;計算出它的非負根取整後的結果。
Input
共有兩行,每行都有一個整數,並且輸入中沒有多餘的空格:第一行有一個正整數m (1 <= m <= 50),表示要開的根次;第二行有一個整數n (0<=n <= 10^10000),表示被開根的數。
Output
只有一行,包括一個數,即為開根取整後的結果。
Sample Input
3
1000000000
Sample Output
1000
HINT
Source
數學
Python大法好
二分答案.
m=(int)(input())
n=(int)(input())
l=0
r=1
while r**m<=n:
l=r
r=r*2
while l+1<r:
mid=(l+r)//2
if mid**m<=n:
l=mid
else:
r=mid
if r**m<=n:
print(r)
else :
print(l)