Poj 1730 Perfect Pth Powers (数论 GCD)
来源:互联网 发布:家庭网络用语叫法 编辑:程序博客网 时间:2024/06/04 21:58
期末考正式结束,虽然还有实习、课设等各种坑爹事情,但应该能静下心来学习点新东西了。
前段时间做的题,思路比较好想,但我果断被细节坑了。。。。
题意:给出整数x,求使得等式x=b^p成立的最大的p。
思路:对x进行素数分解,则所有素因子的指数的最大公约数即为所求。给出的x可以是负数……负数的情况要先把x变成-x去计算,显然只有奇数次乘方才有可能是负数(我们不考虑复数……),所以如果最后结果是偶数,要不断将结果减半,直到为奇数。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int N=100005;int prime[N],indexmax[N];int np=0,n;bool visit[N];bool flag;void Prime () //素数打表prime数组从0开始{ for (int i=2;i<N;i++)if (!visit[i]){prime[np++]=i;for (int j=i+i;j<N;j+=i)visit[j]=true;}}int Gcd (int x,int y) { return !y?x:Gcd(y,x%y); }void Deal (){int id=0,i;memset(indexmax,0,sizeof(indexmax));__int64 temp=n;for (i=0;(__int64)prime[i]*prime[i] <= temp; i++){int t=0;while (temp%prime[i] == 0){t++;temp/=prime[i];}if (t!=0)indexmax[id++]=t;//记录素因子p[i]的个数}if (temp>1) //未除尽indexmax[id++]=1;int ans=indexmax[0];if (id>1)for (i=1;i<id;i++)ans=Gcd(ans,indexmax[i]);if (flag)while (ans%2==0)ans/=2;printf("%d\n",ans);}int main (){Prime ();while (scanf("%d",&n),n){flag=false;if (n==-2147483648){printf("31\n");continue;}if (n<0){n=-n;flag=true;}if (n==1){printf("1\n");continue;}Deal ();}return 0;}
0 0
- Poj 1730 Perfect Pth Powers (数论 GCD)
- 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
- 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
- poj 1730 Perfect Pth Powers
- 【数论】poj1730 Perfect Pth Powers
- zoj 2124 || 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 解题报告(数论) 最大开方数
- 开篇
- ZOJ 1076 Gene Assembly LIS
- 黑马程序员《java基础总结(一)》(java概述与基础语法)
- asp.net mvc 3.0详细笔记__02__项目文件结构概述
- oracle undo解析
- Poj 1730 Perfect Pth Powers (数论 GCD)
- 使用PostThreadMessage在Win32线程间传递消息
- protected修饰的成员属性和方法的可见范围:子类或同一个包中的类
- 在Eclipse环境下配置Servlet开发环境(伪原创)
- ZOJ-3207
- 熊猫的成长
- DSP 基础问答
- java面试笔记02
- <SVN基本设置>构建单机SVN