UVA 113
关键在于double所表示的范围是-2^1024~2^1023 float表示范围是-2^128~2^127,用double足以解决问题,还有就是用数学公式表达出根号
#include<stdio.h> #include<math.h> int main() { int n; double p; while(scanf("%d%lf",&n,&p)!=EOF) printf("%.0lf\n",exp(log(p)/n));//括号内的部分是数学式子的转化 return 0; }