hdu 5428(分解质因子)
题目链接: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(分解质因子)相关推荐
- ZZULIOJ 1071:分解质因子
分解质因子 题目描述 将一个正整数分解质因数,例如,输入90,输出2 3 3 5. 输入 输入一个正整数n(2<=n<=2000). 输出 从小到大输出n的所有质因子,每两个数之间空一格. ...
- ZZULIOJ:1071: 分解质因子
1071: 分解质因子 时间限制: 1 Sec 内存限制: 128 MB [状态] [讨论版] [提交] [命题人:admin] 题目描述 将一个正整数分解质因数,例如,输入90,输出2 3 3 5 ...
- 等式(分解质因子求因子个数)
链接: https://www.nowcoder.com/acm/contest/90/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6553 ...
- PAT甲级1059 Prime Factors :[C++题解]分解质因子
文章目录 题目分析 题目链接 题目分析 暴力求质因数 下面i就是质因子,s是质因子i的阶数. 暴力的时间复杂度O(n),会超时 void divide(int n){for(int i=2;i< ...
- 1072: 分解质因子
时间限制: 1 Sec 内存限制: 128 MB 题目描述 将一个正整数分解质因数,例如,输入90,输出2 3 3 5. 输入 输入一个正整数n(2<=n<=2000). 输出 从小到大 ...
- 求一个数的最小素因子外加快速分解质因子
这种方法使用与数据小于1e7, 这种适用于分解1到n所有数的质因子,而且打印出来是从小到大排好序的 首先找到每个数的最小质因子,不停的除以最小素因子,只到x==1 如果是分解单个还是根号n复杂度的更好 ...
- 关于求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]互质, ...
- UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
这个是参考了别人之后的代码,POJ上0MS过了.Orz......对于一个序列在提取了2,5之后,例如1,2,3,4,5,6,7,8,9,10,我们可以将其中的奇数和偶数分开来对待,对于偶数序列2,4 ...
- java质,JAVA分解质因子 - osc_r1gtal48的个人空间 - OSCHINA - 中文开源技术交流社区
/*题目 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x ...
最新文章
- 大数据WEB阶段 (十)Response、ServletConfig、ServletContext、资源跳转三种方式
- Python自动化之django的ORM
- 寒冷的高纬度——我的梦开始的地方
- taskspawn函数 linux,vxworks的启动任务taskSpawn
- WordPress后台添加侧边栏菜单
- Android recycleview使用详解,recycleview实现九宫格布局即横向排列,recycleview设置item占位数量大号item或小号item
- 【ElasticSearch】 ElasticSearch 读取 流程
- 2019死磕java面试题_死磕 java同步系列之开篇
- 路由器的四根指针怎么放?
- Jetty 和tomcat 比较研究初探
- 吴恩达教授机器学习课程笔记【七】- Part 7 最优模型选择
- arcobjects java开发_ArcGIS Engine SDK for Java 最小示例学习
- golang 安全的tcp server_化繁为简,写一个简单好用的server
- ArcGIS | 全球新冠肺炎地图数据下载和处理
- 解决灵格斯强制更新问题
- Zepto中文API
- 神秘网络蠕虫不搞破坏却让几万台服务器抵抗木马
- U转串口时,鼠标乱动,解决办法
- PTA 练习实验6 十道练习题
- 6步安全解决WinRAR弹出广告,新版通用保姆级教程,收藏备忘无忧
热门文章
- python编写性别比例_Python分析微信好友性别比例和省份城市分布比例的方法示例【基于itchat模块】...
- javaFX的控制台实现
- V7000存储运维使用手册
- 5.16 Stacks and Queues
- mysql怎么通过frm和ibd文件还原数据
- Linux下MySql插入汉字报错解决(/etc/my.cnf不存在)
- linux系统从开机到登录之前的启动流程
- 数学图形(1.5)克莱线
- Revit API取得变量的内参名称
- ubuntu 源码安装nginx