UVA 113

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=49

关键在于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;
}

 

posted @ 2013-02-18 11:06  执着追求的IT小小鸟  阅读(83)  评论(0编辑  收藏  举报