前言

比赛时xjq说这道题很水,是个基础数论。
然后…
就连交都没交


正题

给出n个数,求一个最小的mmm使得
m!∏i=1nai=q(q∈N+)\frac{m!}{\prod_{i=1}^na_i}=q(q\in N_+)∏i=1n​ai​m!​=q(q∈N+​)


解题思路

我们考虑因为要求在一起的乘积,所以个体是不会单独被处理的,所以我们可以将a1∼na_{1\sim n}a1∼n​的乘积分解质因数,然后如果m!m!m!能够将所有的这些质因子都消掉就可以了。
然后我们考虑单独的一个质因子,比如:
a的乘积有2个5
我们发现5!5!5!只有1个5
但是10!10!10!有2个5,可以消掉,所以这个m至少要求是10。

这样我们就可以得出算法,将a的乘积分解质因数,然后对于每个质因子求一个最小的mmm,然后取这些要求中的最大值就好了。


code

#include<cstdio>
#include<algorithm>
#define N 100010
using namespace std;
int n,a,p[N],m,ans;
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a);for(int j=2;j*j<=a;j++)while(!(a%j))p[j]++,a/=j,ans++;if(a>1) p[a]++,ans++;}//分解乘积for(int i=2;i<=N-10;i++)if(p[i]){int cur=i;while(p[i]){int tmp=cur;while(p[i]&&!(tmp%i)) p[i]--,tmp/=i;cur+=i;}//求最小m的要求m=max(m,cur-i);//取最大要求}printf("%d",m);
}

nssl1174-阶乘【!基础!数论】相关推荐

  1. 算法之基础数论应用篇(一)

    基础数论应用篇 子集和 题目描述 筛质数 筛质数模板 欧拉筛 线性筛 哥德巴赫猜想 夏洛克和他的女朋友 二次筛法 分解质因数 试除法分解质因数 分解阶乘质因子 快速幂 模板 快速幂 快速乘法 序列的第 ...

  2. 数学/基础数论——从LeetCode题海中总结常见套路

    今天是大年初一,祝大家新年快乐! 目录 基础数论求质数:LeetCode204.计数质数 常规解法: 娱乐一下:偷鸡式解法 埃拉托色尼筛选法 统计5因子的个数:LeetCode172.阶乘后的零 暴力 ...

  3. 欧几里得定理 java,每个程序员都应该知道的基础数论

    原标题:每个程序员都应该知道的基础数论 这篇文章讨论了数论中每个程序员都应该知道的几个重要概念.本文的内容既不是对数论的入门介绍,也不是针对数论中任何特定算法的讨论,而只是做为数论的一篇参考. 0. ...

  4. 【数论】基础数论概念

    基础数论概念 首先我们来回顾一下基础数论中关于整数集Z={-,-2,-1,0,1,2,-}和自然数集N={0,1,2,3,4,-}的一些概念. 整除性与约数 一个整数可以被另一个整数整除是数论中的一个 ...

  5. 每个程序员都应该知道的基础数论

    这篇文章讨论了数论中每个程序员都应该知道的几个重要概念.本文的内容既不是对数论的入门介绍,也不是针对数论中任何特定算法的讨论,而只是想要做为数论的一篇参考.如果读者想要获取关于数论的更多细节,文中也提 ...

  6. 【ACM】kuangbin基础数论专题

    知识补充:裴蜀定理 1.Bi-shoe and Phi-shoe 1.题意 给出一行数,求对应的数的欧拉函数值大于给出的数的数的最小和. 2.思路 我们知道素数表的欧拉函数值递增. 设素数a,b,b是 ...

  7. 永远不可能学会的数论之基础数论(例题)

    涉及到知识 1.普通筛选.埃拉托斯特尼筛选.欧拉筛选 Bi-shoe and Phi-shoe Bamboo Pole-vault is a massively popular sport in Xz ...

  8. RSA算法原理——(2)RSA简介及基础数论知识

    上期为大家介绍了目前常见加密算法,相信阅读过的同学们对目前的加密算法也算是有了一个大概的了解.如果你对这些解密算法概念及特点还不是很清晰的话,昌昌非常推荐大家可以看看HTTPS的加密通信原理,因为HT ...

  9. 基础数论(3)同余、逆元

    同余和逆元 本篇博客将介绍同余和逆元,以及求逆元的三种方法(因为快速幂是本菜鸡在很久之前c语言还没学完的时候扣了一晚上看懂了,所以默认大家都会了) 放到一起总结一下.拖了好久的说... 然后,开始了. ...

最新文章

  1. c语言解决一元二次方程,一元二次方程求解程序完整代码
  2. html 悬浮阴影,css实现悬浮效果的阴影的方法示例
  3. 如何部署同一个Spring boot web 应用到不同的环境
  4. sql limit 子句_Java 8流中的常见SQL子句及其等效项
  5. Linux操作系统使用基础04:文件与目录管理
  6. JavaScript原型OOP——你上车了吗?
  7. www.sohu.com/a/162498139_165716
  8. 少年时期最后一个儿童节
  9. 极光笔记 | 极光clickhouse千亿级数据分析实践之路
  10. 关于破解Quartus
  11. 实用!Excel在线网页版表格Luckysheet源码
  12. 汉字字符集编码查询_刨根究底字符编码之十——Unicode字符集的字符编码方式...
  13. MATLAB--读取广播星历的导航文件
  14. Amdahl's law and Gustafson's law
  15. windows+ffmpeg+qsv实现inter核显加速视频解码编码
  16. df.pivot函数用法
  17. Arcpy基础入门-4、arcpy工具进阶
  18. Win7共享无线 实现iPad 2 WiFi上网
  19. 管理经济学第一遍总结
  20. 模糊数学20220610

热门文章

  1. 信息技术上册教案了解计算机,信息技术上册全册教案
  2. php-7.1.0,PHP 7.4.0 Alpha 1 v7.4.0 官方最新版
  3. 多个cpp文件生成so_boostpython:从多个.cpp文件创建一个模块(.so)
  4. c语言幼儿园积木游戏,幼儿园《积木游戏》课件【三篇】
  5. python字符串截取方法_如何使用python语言中的字符串方法截取字符串
  6. 一文梳理JavaScript中常见的七大继承方案
  7. linux多行变一列,多行转为一列
  8. C++ class实现双向循环链表(完整代码)
  9. 2019年第十届蓝桥杯国赛B组试题G-排列数-next_permutation枚举,模拟
  10. mac升级php7,MAC更新自带php版本到7.0