POJ_1730_Perfect Pth Powers

来源:互联网 发布:推荐淘宝男装店铺 编辑:程序博客网 时间:2024/05/17 23:26

#include <iostream>#include <cmath>using namespace std;const double eps = 1e-12;int main(){        double n;        while( 1 ){                    cin >> n;            if( n == 0 )             break;                if( n > 0 ){            for( int i = 31; i >= 1; --i ){                                    double sum  = pow( n, 1.0 / i );                double up   = ceil( sum );                double down = floor( sum );                                if( fabs( up - sum ) < eps || fabs( sum - down ) < eps ){                    cout << i << endl;                    break;                }            }        }        else{                            n = -n;                        for( int i = 31; i >= 1; i -= 2 ){                                    double sum  = pow( n, 1.0 / i );                double up   = ceil( sum );                double down = floor( sum );                            if( fabs( up - sum ) < eps || fabs( down - sum ) < eps ){                    cout << i << endl;                    break;                }            }        }    }        return 0;}