ACM

来源:互联网 发布:论述题生成软件 编辑:程序博客网 时间:2024/06/17 13:46

题目:输入两个数A,B,当A的N次方(A的N次方可以大于小于等于B)最接近B时输出N。

解题思路:利用pow函数来求A的N次方,然后通过比较fabs((pow(i,N))-B)与fabs(pow(i+1,N)-B)和(fabs(pow(i,N)-B))与fabs(pow(i-1,N)-B)来判断当N为多少时A的N次方最接近B。

细节处理:利用pow函数处理更加方便。

代码:

 #include<bits/stdc++.h>
using namespace std;
int main()
{
    int B,N,i,j=0;
    int a[1000];
    while(cin>>B>>N)
    {   if(B==0&&N==0)
      break;
        for(i=1;i<=1000000;i++)
            if(fabs((pow(i,N))-B)<fabs(pow(i+1,N)-B)&&(fabs(pow(i,N)-B))<fabs(pow(i-1,N)-B))
            a[j]=i;
        j++;
    }
    for(int i=0;i<j;i++)
        cout<<a[i]<<endl;
    return 0;

感想:要灵活的运用各种函数。

0 0
原创粉丝点击