题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5428

题意:给你N个数,让你求出这N个数最小的因子之积,但要满足一个条件,那就是这个乘积必须包含三个因子,可以为本身;

解题思路:对于每一个数字,它有用的部分其实只有它的所有质因子(包括相等的)。求出所有数的所有质因子中最小的两个,相乘就是答案。如果所有数字的质因子个数不到两个,那么就是无解。时间复杂度O(n∗sqrt(a)) 。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;const int maxn = 100005;
int n;
long long fac[maxn];int main()
{int t;long long x;scanf("%d",&t);while(t--){int cnt = 0;scanf("%d",&n);for(int i = 1; i <= n; i++){scanf("%lld",&x);for(long long j = 2; j * j <= x; j++)while(x % j == 0){x /= j;fac[cnt++] = j;}if(x > 1)fac[cnt++] = x;}sort(fac,fac+cnt);if(cnt >= 2)printf("%lld\n",fac[0]*fac[1]);else printf("-1\n");}return 0;
}

hdu 5428(分解质因子)相关推荐

  1. ZZULIOJ 1071:分解质因子

    分解质因子 题目描述 将一个正整数分解质因数,例如,输入90,输出2 3 3 5. 输入 输入一个正整数n(2<=n<=2000). 输出 从小到大输出n的所有质因子,每两个数之间空一格. ...

  2. ZZULIOJ:1071: 分解质因子

    1071: 分解质因子 时间限制: 1 Sec  内存限制: 128 MB [状态] [讨论版] [提交] [命题人:admin] 题目描述 将一个正整数分解质因数,例如,输入90,输出2 3 3 5 ...

  3. 等式(分解质因子求因子个数)

    链接: https://www.nowcoder.com/acm/contest/90/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...

  4. PAT甲级1059 Prime Factors :[C++题解]分解质因子

    文章目录 题目分析 题目链接 题目分析 暴力求质因数 下面i就是质因子,s是质因子i的阶数. 暴力的时间复杂度O(n),会超时 void divide(int n){for(int i=2;i< ...

  5. 1072: 分解质因子

    时间限制: 1 Sec  内存限制: 128 MB 题目描述 将一个正整数分解质因数,例如,输入90,输出2 3 3 5. 输入 输入一个正整数n(2<=n<=2000). 输出 从小到大 ...

  6. 求一个数的最小素因子外加快速分解质因子

    这种方法使用与数据小于1e7, 这种适用于分解1到n所有数的质因子,而且打印出来是从小到大排好序的 首先找到每个数的最小质因子,不停的除以最小素因子,只到x==1 如果是分解单个还是根号n复杂度的更好 ...

  7. 关于求1~n中与m互质的数的个数(容器原理+数论分解质因子)

    D. Count GCD 这道题严格来讲不难,a[i]与b[i+1]最大公约数为a[i+1],所以a[i]与b[i+1]必定整除a[i+1],且a[i]/a[i+1]与b[i+1]/a[i+1]互质, ...

  8. UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理

    这个是参考了别人之后的代码,POJ上0MS过了.Orz......对于一个序列在提取了2,5之后,例如1,2,3,4,5,6,7,8,9,10,我们可以将其中的奇数和偶数分开来对待,对于偶数序列2,4 ...

  9. java质,JAVA分解质因子 - osc_r1gtal48的个人空间 - OSCHINA - 中文开源技术交流社区

    /*题目 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x ...

最新文章

  1. 大数据WEB阶段 (十)Response、ServletConfig、ServletContext、资源跳转三种方式
  2. Python自动化之django的ORM
  3. 寒冷的高纬度——我的梦开始的地方
  4. taskspawn函数 linux,vxworks的启动任务taskSpawn
  5. WordPress后台添加侧边栏菜单
  6. Android recycleview使用详解,recycleview实现九宫格布局即横向排列,recycleview设置item占位数量大号item或小号item
  7. 【ElasticSearch】 ElasticSearch 读取 流程
  8. 2019死磕java面试题_死磕 java同步系列之开篇
  9. 路由器的四根指针怎么放?
  10. Jetty 和tomcat 比较研究初探
  11. 吴恩达教授机器学习课程笔记【七】- Part 7 最优模型选择
  12. arcobjects java开发_ArcGIS Engine SDK for Java 最小示例学习
  13. golang 安全的tcp server_化繁为简,写一个简单好用的server
  14. ArcGIS | 全球新冠肺炎地图数据下载和处理
  15. 解决灵格斯强制更新问题
  16. Zepto中文API
  17. 神秘网络蠕虫不搞破坏却让几万台服务器抵抗木马
  18. U转串口时,鼠标乱动,解决办法
  19. PTA 练习实验6 十道练习题
  20. 6步安全解决WinRAR弹出广告,新版通用保姆级教程,收藏备忘无忧

热门文章

  1. python编写性别比例_Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】...
  2. javaFX的控制台实现
  3. V7000存储运维使用手册
  4. 5.16 Stacks and Queues
  5. mysql怎么通过frm和ibd文件还原数据
  6. Linux下MySql插入汉字报错解决(/etc/my.cnf不存在)
  7. linux系统从开机到登录之前的启动流程
  8. 数学图形(1.5)克莱线
  9. Revit API取得变量的内参名称
  10. ubuntu 源码安装nginx