原题链接:
poj
题意简述
给您 n , p n,p n,p,求 p p p的 n n n次根。保证答案为整数
数据
输入
多组数据。
n
,
p
n,p
n,p
(
1
<
=
n
<
=
200
,
1
<
=
p
<
1
0
100
)
(1<=n<=200,1<=p<10^{100})
(1<=n<=200,1<=p<10100)
输出
答案
样例
输入
2 16
3 27
7 4357186184021382204544
输出
4
3
1234
思路
看起来。。。要写高精?还要二分???
但是题目保证了答案为整数。那么,即使我们使用浮点数,有误差,但是只要控制在 1 1 1以内即珂。我们知道, 1 0 100 10^{100} 10100是不会出现太大的误差的。所以这题就成了一个很水的%你题了。
代码:
#include<iostream>
#include<cmath>
using namespace std;
namespace Flandle_Scarlet
{
void IsMyWife()
{
double n,p;
while(cin>>n>>p)
{
double tmp=(pow(p,1.0/n));
cout<<(int)(tmp+0.5)<<endl;
}
}
};
int main()
{
Flandle_Scarlet::IsMyWife();
return 0;
}