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);
	}
}


posted on 2012-09-02 09:15  Slege  阅读(91)  评论(0编辑  收藏  举报

导航