题目大概:
输入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;
}