您的位置:首页 > Web前端

POJ1730 Perfect Pth Powers

2012-09-04 22:04 302 查看
原题链接:http://poj.org/problem?id=1730

很恶心的一道题,首先被精度搞得wa爆,然后很2B以为在int范围内 -(-2^31) = 2^31,额滴神啊,2^31次方还在int范围吗!!!

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

const double eps = 1e-12;

int main()
{
long long n, i;
double j;
bool flag;
while(scanf("%lld", &n), n)
{
flag = false;
if(n < 0)
flag = true, n = -n;
for(i = 31; i > 1; i --)
{
if(flag && i % 2 == 0)
continue;
j = pow(n, 1.0 / i);
if(fabs(j - floor(j + eps)) < eps)
break;
}
printf("%d\n", i);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: