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);
}
}
浙公网安备 33010602011771号