PKU : 3100 - Root of the Problem
アルゴリズム
線形探索でやりました.
プログラム
int main(void){ int b,n; while(scanf("%d%d",&b,&n),b||n){ int minDiff = INT_MAX; int ans = -1; for(int a=1;;a++){ int p = pow(a,n); if(minDiff > abs(p - b)){ minDiff = abs(p - b); ans = a; } if(p >= b) break; } printf("%d\n",ans); } }