设为首页 加入收藏

TOP

UVa 10622 - Perfect P-th Powers(数论)
2015-11-21 00:59:19 来源: 作者: 【 】 浏览:1
Tags:UVa 10622 Perfect P-th Powers 数论
#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #include 
       
         using namespace std; int find(int n) { for (int i = 2 ; i < 50000 ; ++ i) { if (pow(0.0+i, (int)(log10(fabs(n+0.0))/log10(i+0.0)+0.01)) == n) return (int)(log10(fabs(n+0.0))/log10(i+0.0)+0.01); if (pow(0.0-i, (int)(log10(fabs(n+0.0))/log10(i+0.0)+0.01)) == n) return (int)(log10(fabs(n+0.0))/log10(i+0.0)+0.01); } return 1; } int main() { int n; while (cin >> n && n) cout << find(n) << endl; return 0; } 
       
      
     
    
   
  

给你一个数,找到他能表示一个幂的最大的指数。

分析:数论。直接枚举50000内所有的底数即可。

说明:1.注意负数的情况,先算对应整数,在取反判断;2.log10()函数的精度问题。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu1150 Machine Schedule 下一篇poj 1270 Following Orders 枚举..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: