ACM书中题目 T

来源:互联网 发布:js 时间选择控件小时 编辑:程序博客网 时间:2024/05/17 09:08

一.题目描述

输入B和N,找出一个数字A使得A的N次方最接近B;

二.思路

A的N次方有小于等于大于B的,这个A一定介于大于和小于的之间,再比较前后与B的绝对值之差

三.代码

#include<iostream>#include<vector>#include<cmath>#include<iomanip>using namespace std;int main(){    vector<int>a;    vector<int>b;    double c,d,cha1,cha2;    int i,j;    for(;;)    {        cin>>c;        cin>>d;        if(c==0 && d==0)        break;        else        {            a.push_back(c);            a.push_back(d);            for(i=1;;i++)            {                if(pow(i,d)>=c)                {                    cha1=pow(i,d)-c;                    cha2=c-pow(i-1,d);                    if(cha1>cha2)                    {                        b.push_back(i-1);                    }                    else                    {                        b.push_back(i);                    }                    break;                }            }         }    }    for(j=0;j<b.size();j++)    {        cout<<b[j]<<endl;    }    return 0;}
四.感受

这道题没什么技术含量,必须过

0 0
原创粉丝点击