贪心算法—Problem M

贪心算法—Problem M

题意

题目很简单,给定两个数分别是n,p;其中p是n的k次方,要求输入n和p,然后计算出k的值并输出。

解题思路

乍一看问题并不难,想到了cmath库里的pow函数,但一看测试数据发现很大,查找了一下基本数据类型的double发现并未超出它的范围,所以索性就用这种方法来做了,调用pow函数,求p的1/n次方(逆用条件),由于所求是double类型所以对所求数据进行相关操作并转换为int型的k,并输出即可。

感想

表面上看题目不难,但所给数据比较大,不知道这种做法是不是出题人意图,但提交后AC了,也不知道说啥了。

AC代码

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

    double  n,p;

        int k;

         while(cin>>n>>p)

         {

                   k=(pow(p,1.0/n)+0.5);

                   cout<<k<<endl;

         }

}

你可能感兴趣的:(贪心算法—Problem M)