题意: kn = p,(1<=n<= 200, 1<=p<10101 ,1<=k<=109),给出n和p,求k。
我最开始以为是高精度的题,写了半天。。。最后才知道原来double就可以满足p和k的存储和计算精度。
double :8 byte,范围是1.7E-308~1.7E+308,精度是15位有效数字。
代码:
2109 | Accepted | 184K | 0MS | C++ | 192B |
#include <cstdio>
#include <cmath>
int main(){
double n, p;
while(scanf("%lf%lf", &n, &p)!=EOF)
printf("%.0lf\n",pow(p, 1.0/n));
return 0;
}