poj 3100(水题)
#include<iostream> #include<cmath> #include<cstdio> using namespace std; int main(){ int b,n,i,d,di,p,t; while(scanf("%d%d",&b,&n)==2&&b){ di = 1; i = 1; d = abs((double)b-1); p = 1; i = 2; p = pow((double)i,n); for(;p<=b;){ t = abs(p-b); if(t<d){ di = i; d = t; } p = pow((double)++i,n); } if(abs(p-b)<d){ di = i; d = abs(p-b); } printf("%d\n",di); } return 0; }

浙公网安备 33010602011771号