hdu 5428 the factor(分解质因子)
来源:互联网 发布:人工智能的龙头股票 编辑:程序博客网 时间:2024/05/17 22:30
给一个序列,设所有项乘积为a,求a的因子中因子个数大于2的最小因子。
将每个数分解质因子,记录每个质因子的个数。
然后从最小的质因子开始取(累乘),直到取够两个(因为1和其本身也是该数的因子),此时得到的结果就是满足条件的最小因子。
坑点:注意数据范围
#include<algorithm>#include<cstdio>#include<cstring>#include<iostream>#include<queue>#include<map>#define INF 0x3f3f3f3ftypedef __int64 LL;using namespace std;LL a;map<LL,int>M;map<LL,int>::iterator it;int main(){ int n,i,t; cin>>t; while(t--) { scanf("%d",&n); M.clear(); LL j; for(i=0;i<n;++i){ scanf("%I64d",&a); for(j=2;j*j<=a;++j){ while(a%j==0) { if(!M.count(j)) M[j]=1; else M[j]++; a/=j; } } if(a!=1){ if(!M.count(a)) M[a]=1; else M[a]++; } } LL ans=1,cnt=1; for(it=M.begin();cnt<3&&it!=M.end();++it){ while(it->second>0&&cnt<3) { it->second--; ans*=it->first; ++cnt; } } if(cnt<3) puts("-1"); else printf("%I64d\n",ans); } return 0;}
0 0
- hdu 5428 the factor(分解质因子)
- HDU 5428-The Factor(分解质因子)
- hdu 5428 The Factor(分解质因子)
- HDU 5428 The Factor(分解质因子)
- HDU 5428 The Factor(分解质因子)
- hdu 5428 The Factor 找质因子
- HDU5428 The Factor【分解质因子】
- hdu 5428 The Factor(唯一分解定理)
- hdu 5428(分解质因子)
- hdu(5428)——The Factor(质因数分解)
- HDU 5428 The Factor
- HDU 5428 The Factor
- hdu 5428 The Factor
- HDU 5428 The Factor
- HDU 5428:The Factor
- hdu 5428 The Factor
- HDU 5428 The Factor
- hdu 5428 The Factor
- 第10章 无监督学习(3)
- OpenGL-----Tone Mapping
- 黑马程序员—Java集合框架
- hdu 5429 Geometric Progression (等比数列判定+大数模板)
- Inotify Example: Introduction to Inotify with a C Program Example
- hdu 5428 the factor(分解质因子)
- hdu 5430 reflect (欧拉函数)
- NSOperation综合案例: 下载图片/技术选择
- iCloud和Core Data
- Leetcode: Ugly Number II
- SDWebImage
- C++支持的程序设计范式
- SDWebImage常识
- 自定义 NSOperation