TC。求一个大数的最大因子满足完全平方数。
2014-07-29 10:55
120 查看
#include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <iostream> #include <cmath> #include <queue> #include <map> #include <stack> #include <list> #include <vector> using namespace std; #define LL long long class SquareDivisor { public: long long biggest(long long x) { long long ans=1; for (long long i=2;i<=100000 && i<=x;i++) { LL k=i*i; while (x % k==0) { x/=k; ans*=k; } if (x % i==0) x/=i; } LL r=sqrt(double(x)); if (r*r==x) ans*=x; return ans; } }m; //LL SquareDivisor::biggest(); int main() { LL n; scanf("%lld",&n); cout<<m.biggest(n)<<endl; return 0; }
相关文章推荐
- 欧拉计划之题目3:找出一个合数的最大质数因子。
- poj 1032 将一个数分成几个不同的数之和,满足这些数的乘积最大。
- 有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。
- 如何快速找出一个数组中最大数和第二大数
- PAT 1096. Consecutive Factors (20)(最大连续乘积因子)(sqrt(n)判断一个数是否为质数的深刻理解)
- 编写一个程序,求满足以下条件 n 的最大值: 1^1+2^2+2^3+…+2^n<1000
- poj1811(pollard-rho求一个大数(64位)的最小因子)
- 给出一个数字m,求满足m = a^3 + b^3(a,b为正整数)的所有整数对(分解素因子防超时)
- 求一个数组中的最大次大数
- 快速找出一个数组中的最大数和第二大数
- 给定正整数b,求最大的整数a,满足a*(a+b) 为完全平方数
- 数据结构第5章例题 若矩阵Am×n中存在某个元素aij满足:aij是第i行中的最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中的所有鞍点。
- 求正整数n划分因子乘积最大的一个划分及此乘积
- 给一个整数N,N可以拆分出不同的因子,而且满足因子的乘积等于N。则在这些因子中和是最小的一组是什么
- 题目3:找出一个合数的最大质数因子
- 找出一个合数的最大质数因子
- 求正整数n划分因子乘积最大的一个划分及此乘积
- 欧拉计划---0003 Largest prime factor(找出一个合数的最大质数因子)
- 欧拉工程第3题 找出一个合数的最大质数因子
- 有一个长为n的数组A,求满足0≤a≤b<n的A[b]-A[a]的最大值。 给定数组A及它的大小n,请返回最大差值。