POJ 题目1730 Perfect Pth Powers(质因子分解)
2014-11-22 00:35
477 查看
Perfect Pth Powers
Description
We say that x is a perfect square if, for some integer b, x = b2. Similarly, x is a perfect cube if, for some integer b, x = b3. More generally, x is a perfect pth power
if, for some integer b, x = bp. Given an integer x you are to determine the largest p such that x is a perfect pth power.
Input
Each test case is given by a line of input containing x. The value of x will have magnitude at least 2 and be within the range of a (32-bit) int in C, C++, and Java. A line containing 0 follows the last test case.
Output
For each test case, output a line giving the largest integer p such that x is a perfect pth power.
Sample Input
Sample Output
Source
Waterloo local 2004.01.31
思路:http://blog.csdn.net/lyhvoyage/article/details/40210323
一直超时,,,把n改成64的居然就过了
ac代码
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 16791 | Accepted: 3810 |
We say that x is a perfect square if, for some integer b, x = b2. Similarly, x is a perfect cube if, for some integer b, x = b3. More generally, x is a perfect pth power
if, for some integer b, x = bp. Given an integer x you are to determine the largest p such that x is a perfect pth power.
Input
Each test case is given by a line of input containing x. The value of x will have magnitude at least 2 and be within the range of a (32-bit) int in C, C++, and Java. A line containing 0 follows the last test case.
Output
For each test case, output a line giving the largest integer p such that x is a perfect pth power.
Sample Input
17 1073741824 25 0
Sample Output
1 30 2
Source
Waterloo local 2004.01.31
思路:http://blog.csdn.net/lyhvoyage/article/details/40210323
一直超时,,,把n改成64的居然就过了
ac代码
#include<stdio.h> #include<string.h> #include<math.h> int pri[10010],isp[70010],cot; void fun() { int i,j,m; cot=0; isp[0]=isp[1]=1; m=(int)sqrt(66700+0.5); for(i=2;i<66700;i++) { if(!isp[i]) { pri[cot++]=i; if(i<=m) { for(j=i*i;j<66700;j+=i) { isp[j]=1; } } } } } int gcd(int a,int b) { int t; if(a<b) { return gcd(b,a); } if(b==0) { return a; } else return gcd(b,a%b); } int main() { __int64 n; fun(); while(~scanf("%I64d",&n)&&n) { int w=0,ans=0,i,j,k; if(n<0) { w=1; n=-n; } for(i=0;i<cot&&n>1&&pri[i]<=n;i++) { if(n%pri[i]==0) { int cnt=0; while(n%pri[i]==0) { cnt++; n/=pri[i]; } ans=gcd(ans,cnt); } } if(n>1) ans=gcd(ans,1); if(w) { while(ans%2==0) ans/=2; } printf("%d\n",ans); } }
相关文章推荐
- poj1730--Perfect Pth Powers
- POJ 1730 Perfect Pth Powers(暴力枚举)
- POJ 1730 Perfect Pth Powers(唯一分解定理)
- POJ-1730 Perfect Pth Powers(思维:大数分解素因子)
- poj 1730 Perfect Pth Powers
- poj1730 素数 Perfect Pth Powers
- Poj 1730 Perfect Pth Powers (数论 GCD)
- poj-1730 Perfect Pth Powers
- POJ1730 Perfect Pth Powers
- poj 1730 Perfect Pth Powers
- POJ 1730 Perfect Pth Powers (求最大p,x=b^p)
- poj 1730 Perfect Pth Powers
- POJ-1730 Perfect Pth Powers 分解质因子
- POJ-1730-Perfect Pth Powers
- POJ 1730 Perfect Pth Powers
- poj 1730 Perfect Pth Powers
- poj1730 - Perfect Pth Powers
- [暑假集训--数论]poj1730 Perfect Pth Powers
- poj 1730 Perfect Pth Powers
- POJ 1730 Perfect Pth Powers (分解素因子)