1. 程式人生 > >CreationAugust is 14 years old forever

CreationAugust is 14 years old forever

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)