HDU 5428 The Factor
来源:互联网 发布:udp的3100端口 编辑:程序博客网 时间:2024/05/04 02:32
对于每一个数字,它有用的部分其实只有它的所有质因子(包括相等的)。求出所有数的所有质因子中最小的两个,相乘就是答案。如果所有数字的质因子个数不到两个,那么就是无解。时间复杂度
。
O(n∗sqrt(a))
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int vis[100000];int prime[100000];__int64 num[100000];int cnt=0;void Init(){ int i,j; memset(vis,0,sizeof(vis)); for(i=2; i<=100000; i++) { if(!vis[i]) { prime[cnt++]=i; } for(j=0; j<cnt&&i*prime[j]<100000; j++) { vis[i*prime[j]]=1; } }}int main(){ Init(); int t; scanf("%d",&t); while(t--) { int i,n; scanf("%d",&n); int sum=0; int x; for(i=1; i<=n; i++) { scanf("%d",&x); int k=0; for(int j=0; j<cnt&&prime[j]<=x&&k<2; j++) { while(x%prime[j]==0) { k++; num[sum++]=prime[j]; x/=prime[j]; if(k>=2) { break; } } } if(x!=1) { num[sum++]=x; } } sort(num,num+sum); if(sum<2) { printf("-1\n"); } else { printf("%I64d\n",num[0]*num[1]); } } 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
- 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 找质因子
- hdu 5428 The Factor(分解质因子)
- hdu(5428)——The Factor(质因数分解)
- BestCoder Round #54 (div.2) HDU 5428 The Factor(1002)
- 论语音识别技术API在Android中的应用
- ThinkPHP——RBAC父类控制器权限过滤(权限漏洞修复)
- 当UITextField被系统键盘挡住的时候如何解决
- return *this和return this有什么区别?
- LeetCode---Number of 1 Bits
- HDU 5428 The Factor
- Vigenere密码 Hill密码
- bootstrap table使用小记
- 【链表项目2 - 建设“单链表”算法库】
- Android studio 使用技巧--csdn博客
- 【UIKit-124-5】#import <UIKit/UIView.h>
- redis的配置
- iOS使用定时器,并添加到子线程运行
- 蓝桥杯 地宫寻宝 带缓存的DFS