用pow开根号就行了,然后判断一下A和A+1那个更近,真是良心的大水题
#include <stdio.h>
#include <math.h>
int main()
{
int B,N;
double a;
int A=0;
while(scanf("%d %d",&B,&N)&&B+N)
{
a=pow(B,1.0/N);
A=a;
if(2*B-pow((double)A,N)-pow((double)A+1,N)>0)
{
++A;
}
printf("%d\n",A);
}
}