题意:给出n个数,问这n个数的乘积中至少有三个因子的最小因子。若不存在这样的因子,则输出 -1;

思路:求出每个数的最小的两个素因数,然后输出其中最小的两个数的乘积。

代码:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<queue>
#include<algorithm>
#include<cmath>
#include<map>
using namespace std;
#define INF 0x7fffffff int isprime[100000],prime[100000],cnt = 0;
long long num[100000]; int init(){ // 求 1 - 100000内的素数 (100000*100000 > 1000000000)
int i,j;
memset(isprime,1,sizeof(isprime));
for(i=2;i<100000;i++){
if(!isprime[i])
continue ;
prime[cnt++] = i;
for(j =i+i;j<100000;j+=i)
isprime[j] = 0;
}
} int main(){
int i,j,n,t,w,x,p;
init();
cin >> t;
while(t--){
w = 0;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&x);
p = 0;
for(j=0;j<cnt && x >= prime[j] && p<2;j++)
while(x%prime[j] == 0){
p++;
num[w++] = prime[j];
x /= prime[j];
if(p >=2 )
break;
}
if(x != 1)
num[w++] = x;
}
sort(num,num+w);
if(w < 2)
printf("-1\n");
else
printf("%I64d\n",num[0]*num[1]);
}
return 0;
}

HDU 5428 The Factor (素因数分解)的更多相关文章

  1. HDU 5428 The Factor 分解因式

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5428 The Factor  Accepts: 101  Submissions: 811  Tim ...

  2. hdu 5428 The Factor 分解质因数

    The Factor  Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/contest ...

  3. HDU 5428 The Factor

    话说这题意真的是好难懂啊,尽管搜到了中文题意,然而还是没懂,最后看到了一个题解才懂的.http://www.cnblogs.com/Apro/p/4784808.html#3470972 题意:给出n ...

  4. hdu 5428 The Factor(数学)

    Problem Description There is a sequence of n positive integers. Fancycoder is addicted to learn thei ...

  5. HDU 5428 分解质因数

                                                                                                   The F ...

  6. HDU 5428:The Factor

    The Factor  Accepts: 101  Submissions: 811  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65 ...

  7. HDU 4610 Cards (合数分解,枚举)

    Cards Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  8. HDOJ/HDU 2710 Max Factor(素数快速筛选~)

    Problem Description To improve the organization of his farm, Farmer John labels each of his N (1 < ...

  9. HDU 2639 01背包(分解)

    http://acm.hdu.edu.cn/showproblem.php?pid=2639 01背包第k优解,把每次的max分步列出来即可 #include<stdio.h> #incl ...

随机推荐

  1. Splay入门题目 [HNOI2002]营业额统计

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1588 这道题貌似很多中做法,我先是用multiset交了一发,然后又写了一发splay. ...

  2. centos Minicom通信终端

    minicom是linux下的串口通信软件,他使用完全使用键盘操作.它虽然没有windows下的超级终端好用,但是它也是一种串口通信的方法.一.minicom安装在超级终端中输入:sally@sall ...

  3. hibernate分页查询的各种方法

    统计总数: public Integer countAll1() { String hql = "select count(*) from News as news"; List ...

  4. (转载)XML Tutorial for iOS: How To Read and Write XML Documents with GDataXML

    In my recent post on How To Choose the Best XML Parser for Your iPhone Project, Saliom from the comm ...

  5. [Redux] Extracting Presentational Components -- AddTodo

    The code to be refactored: let nextTodoId = 0; class TodoApp extends Component { render() { const { ...

  6. 《31天成为IT服务达人》--机遇篇(二)

    1       第二章 机遇就是选择大于努力 年假设你一咬牙(或者在晚点)买了房,十年的巨幅增值,比你如今干哪行都赚得快,可是往往有选择就有痛苦,这样的痛苦来至于对未知的恐惧和现实须要一定的付出.作为 ...

  7. 使用Xcode和Instruments调试解决iOS内存泄露【转】

    转载自:http://blog.csdn.net/totogo2010/article/details/8233565 虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露 ...

  8. (转)Ajax的原理和应用

    1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax ...

  9. NFinal 控制器—URL

    URL路由规则 规则:http://网址/模块名/控制器的相对路径的文件名/函数名.htm 例: http://localhost/App/IndexController/Index.htmhttp: ...

  10. hdu 1232畅通工程

    Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通 ...