hdu 2740 Root of the Problem (水)
题目意思很简单,给你一个b和一个n,找到一个a使a^n最接近b
先求出a=b^(1/n),然后再它附近找,
#include<stdio.h> #include<math.h> void main() { float B,N,A1,A2,A3,A; scanf("%f%f",&B,&N); while(B!=0&&N!=0) { A1=pow(B,1/N); A2=1.0+(int)A1; A3=(int)A1-1.0; A1=(int)A1*1.0; A=fabs(pow(A1,N)-B)>fabs(pow(A2,N)-B )?A2:A1; A=fabs(pow(A,N)-B)>fabs(pow(A3,N)-B )?A3:A; printf("%d\n",(int)A) ; scanf("%f%f",&B,&N); } }