会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
サ繌н筻刂挭
博客园
首页
新随笔
联系
订阅
管理
PKU 1730 Perfect Pth Powers
分析:要灵活变通。
Code
#include
<
iostream
>
#include
<
cmath
>
using
namespace
std;
int
main()
{
__int64 x;
int
i;
while
(cin
>>
x,x)
{
if
(x
>
0
)
{
i
=
(
int
)(log((
double
)x)
/
log(
2.0000000
)
+
1
);
for
(;i
>
1
;
--
i)
{
double
m
=
pow(x,
1.0000000
/
i);
__int64 mm
=
(__int64) m;
if
(m
-
(
double
)mm
<
1e
-
12
||
(
double
)mm
+
1
-
m
<
1e
-
12
)
{
cout
<<
i
<<
endl;
break
;
}
}
if
(i
==
1
)
cout
<<
1
<<
endl;
}
else
{
x
=
-
x;
i
=
(
int
)(log((
double
)x)
/
log(
2.0000000
)
+
1
);
if
(i
%
2
==
0
)
--
i;
for
(;i
>
1
;i
-=
2
)
{
double
m
=
pow(x,
1.0000000
/
i);
__int64 mm
=
(__int64) m;
if
(m
-
(
double
)mm
<
1e
-
12
||
(
double
)mm
+
1
-
m
<
1e
-
12
)
{
cout
<<
i
<<
endl;
break
;
}
}
if
(i
==
1
)
cout
<<
1
<<
endl;
}
}
return
0
;
}
posted @
2009-04-30 14:12
黄浩贤
阅读(
146
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告