博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P1069 细胞分裂
阅读量:7186 次
发布时间:2019-06-29

本文共 1441 字,大约阅读时间需要 4 分钟。


考虑质因数分解

先将m1,质因数分解后再根据数学定理将所有质数的质数全乘m2

然后将输入的数据相同处理,再判断

顺便说一下判断规矩

1肯定不行

如果分解后有没有m1质因数分解中的因数,对答案不影响

但是如果没有m1中的质因数,那么这个数肯定不行

如果都有的话

就将问题转化为求最大的商(上取整)

#include
#include
#include
using namespace std;int prime[500000],num[500000],tail;int main(){ int n; scanf("%d",&n); int m1,m2; scanf("%d%d",&m1,&m2); if(m1==1) { printf("0"); return 0; } for(int i=2;m1!=1;i++) { if(m1%i) continue; prime[++tail]=i; while(m1%i==0) { num[tail]+=m2; m1/=i; } } int in; int ans=0x7fffffff; bool flag=false; for(int i=1;i<=n;i++) { int now_a=-0x7fffffff; flag=true; scanf("%d",&in); if(in==1) continue; for(int j=1;j<=tail;j++) { if(in%prime[j]) { flag=false; break; } int pass=0; while(in%prime[j]==0) { in/=prime[j]; pass++; } int ha=num[j]/pass; if(num[j]%pass) ha+=1; now_a=max(now_a,ha); continue; } if(!flag) continue; ans=min(ans,now_a); } if(ans!=0x7fffffff) printf("%d",ans); else printf("-1"); return 0;}/*19970 99998*/

转载于:https://www.cnblogs.com/Lance1ot/p/8782816.html

你可能感兴趣的文章
PAT1034 Head of a Gang (30)(并查集)
查看>>
「color」颜色RGB
查看>>
Oracle Enterprise Manager (OEM)的基本命令行控制(based on 11g)
查看>>
如何制作iso文件
查看>>
各个JSON技术的比较
查看>>
Java线程详解
查看>>
HttpApplication、HttpContext、HttpModule、HttpHandler
查看>>
oracle update from
查看>>
php中json_encode中文编码问题分析
查看>>
【树形结构】LG P2052 [NOI2011]道路修建
查看>>
window7快捷键
查看>>
网卡详细信息
查看>>
day11
查看>>
Codeforces Round #227 (Div. 2) 解题报告
查看>>
日记(5)
查看>>
动态规划——Remove Boxes
查看>>
越简单越好:数组名和指针的区别
查看>>
linux 编程笔记 2
查看>>
centos firewalld 基本操作【转】
查看>>
二叉树遍历建树[zhuan]
查看>>