zoukankan      html  css  js  c++  java
  • poj1730

    题意:求一个32位整数n写成整数幂的形式,指数最大是多少。

    分析:首先结果不超过32。从大到小枚举即可。用pow函数,pow函数可以开方,例如求n开i次方,可以改为求n的1/i次幂。一定要写精度,否则wa

    View Code
    #include <iostream>
    #include
    <cstdio>
    #include
    <cstdlib>
    #include
    <cstring>
    #include
    <cmath>
    usingnamespace std;

    #define eps 1.0e-12

    longlong n;

    void work()
    {
    bool fu =false;
    if (n <0)
    {
    fu
    =true;
    n
    =-n;
    }
    for (int i =32; i >=1; i--)
    if (!fu || (fu && (i &1)))
    {
    double a = pow(double(n), 1.0/ i);
    longlong x = a;
    if (abs(a - x) < eps || abs(a - x -1) < eps)
    {
    printf(
    "%d\n", i);
    return;
    }
    }
    }

    int main()
    {
    //freopen("t.txt", "r", stdin);
    while (scanf("%lld", &n), n)
    work();
    return0;
    }
  • 相关阅读:
    c8051f交叉开关
    8052定时器2的用法
    poj1010
    poj2101
    poj1958
    poj3444
    poj2977
    DataTable 相关操作
    C#中string和StringBuilder的区别
    DataTable排序,检索,合并,筛选
  • 原文地址:https://www.cnblogs.com/rainydays/p/2079846.html
Copyright © 2011-2022 走看看