poj 3100

  题意:给你两个数B、N,求一个数的N次方最接近B。

  先求出B的1/N次方:A,然后比较A和A+1的N次方那个更接近B

#include<stdio.h>
#include <math.h>
int main()
{
    double a,b,n;
    while(1)
    {
        scanf("%lf%lf", &b,&n);
        if (n==0.0 && b==0.0) break;
        a = (int)(pow (b, 1 / n));
        if (fabs(pow(a,n)-b) > fabs(pow(a+1,n)-b))
            a+=1.0;
        printf("%d\n",(int)(a));
  }
  return 0;
}

 

posted @ 2013-08-28 21:28  yongren1zu  阅读(140)  评论(0编辑  收藏  举报