题目大概:
输入b,n,输出a,要求a的n次方最接近b。
思路:
用循环,计算a的n次方,计算出a的n次方与b的差值,当发现差值减少时,输出前一个a。
感想:
发现做题时心静,因为今天做题时,感觉特别舒服,没半点不适,可能是我做题时心不着急,一直不急不燥的在做。
代码:
#include
<iostream>
using namespace std ;
int main ()
{ int b ,n ;
while (cin >>b >>n )
{ if (b == 0 &&n == 0 ) break ;
int f ,c ,z = 0 ,k = 1 ;
f = 1 ;
c =f -b ;
if (c < 0 )c =-c ;
for (;;)
{f =k ;
for ( int i = 1 ;i <n ;i ++)
{ f =f *k ;
}
z =f -b ;
if (z < 0 )z =-z ;
if (z >c ) {cout <<k -1 <<endl ; break ; }
else c =z ;
k ++; }
}
return 0 ;
}
using namespace std ;
int main ()
{ int b ,n ;
while (cin >>b >>n )
{ if (b == 0 &&n == 0 ) break ;
int f ,c ,z = 0 ,k = 1 ;
f = 1 ;
c =f -b ;
if (c < 0 )c =-c ;
for (;;)
{f =k ;
for ( int i = 1 ;i <n ;i ++)
{ f =f *k ;
}
z =f -b ;
if (z < 0 )z =-z ;
if (z >c ) {cout <<k -1 <<endl ; break ; }
else c =z ;
k ++; }
}
return 0 ;
}