#6303. 水题

内存限制 10 MiB 时间限制:1000 ms 标准输入输出

题目描述

给定正整数 n,kn, kn,k,已知非负整数 xxx 满足 n!modkx=0,求 xmaxx_{max}x​max​​ 。

输入格式

本题包含多组数据,请处理至文件末尾。

对于每组数据,共有一行,两个整数,表示 n,kn, kn,k。

输出格式

对于每组数据,输出一行,一个整数,表示 xmaxx_{max}x​max​​。

样例

输入样例

10 2
5000000000000000000 2
5000000000000000000 10000000000000

输出样例

8
4999999999999999981
96153846153846153

数据范围与提示

对于 40%40\%40% 的数据,k⩽2×107k \leqslant 2\times 10^7k⩽2×10​7​​,n⩽2×109n \leqslant 2\times 10^9n⩽2×10​9​​,数据组数 ⩽50 \leqslant 50⩽50。
对于 100%100\%100% 的数据,1<k⩽10131<k \leqslant 10^{13}1<k⩽10​13​​,1⩽n⩽5×10181 \leqslant n \leqslant 5\times 10^{18}1⩽n⩽5×10​18​​,数据组数 ⩽200\leqslant 200⩽200。

解题思路:

    由n!%kx=0可得:k^x必定是n!的一个约数,所以k中的质因数在$n!$肯定都存在,只是k中质因子的指数小于等于n!中的质因子的指数。

    假如我们现在已经知道了k的每个质因数及其指数:P1C1 P2C2... PmCm

    我们还知道n!的每个质因子及其指数:P1D1P2D2 ...PmDm

     那么可以得到:

      $C1*X_1<=D1$  $C_2*X_2<=D_2$ ... $C_m*X_m<=D_m$

     可以知道$$min{ X_1 X_2 ...X_m }$$便是满足条件的最大的X。

    现在将问题转换为求K和n!的质因数及其指数了。

    对于K的质因数和指数我们可以在$\sqrt{k}$的时间内求得,

而n!可以在$\log{n}*\sqrt{k}$的时间内得到。

#include<bits/stdc++.h>
using namespace std;
#define uint unsigned int
#define re register int
#define ll long long
#define INF 0x3f3f3f3f
#define maxn  5000009
#define maxm
inline ll read()
{ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ll)(ch-'0');ch=getchar();}return x*f;
}
bool v[maxn];
ll prime[maxn];
ll n,m,k,ans,tot,cnt;void Prime()
{for(int i=2;i<=3400000;i++){if(!v[i])prime[++cnt]=i;for(int j=1;j<=cnt&&i*prime[j]<=3400000;j++){v[i*prime[j]]=1;if(i%prime[j]==0)break;}}
}
ll Cal(ll x,ll y)
{if(x<y)return 0;return Cal(x/y,y)+x/y;
}
int main()
{freopen("math.in","r",stdin);freopen("math.out","w",stdout);Prime();while(scanf("%lld%lld",&n,&k)!=EOF){ll ans=9e18;for(int i=1;prime[i]*prime[i]<=k;i++){if(k%prime[i]==0){cnt=0;while(k%prime[i]==0)++cnt,k/=prime[i];    ans=min(ans,Cal(n,prime[i])/cnt);}}if(k!=1)ans=min(ans,Cal(n,k));printf("%lld\n",ans);}fclose(stdin);fclose(stdout);return 0;
}

数论

数论

转载于:https://www.cnblogs.com/Dxy0310/p/9819018.html

LOJ #6303. 水题 (约数 质因数)相关推荐

  1. SDNU 1427.分解质因数(水题)

    Description 问题描述 求出区间[a,b]中所有整数的质因数分解. 输入格式 输入两个整数a,b. 输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< ...

  2. 【2018.3.31】模拟赛之一-ssl2406 约数【水题】

    前言 其实水题我是真的不想写的,但是没有办法 正题 大意 一个数,输出他的所有除数和 代码 #include<cstdio> #include<cmath> using nam ...

  3. 最详细最简单:最大公因数求法、辗转相除法、更相减损法,入门ACM,杭电水题,算法递归,初级算法题一看就懂

    文章目录 前言 一.名称定义 1.最大公约数 2.辗转相除法 3.更相减损法 二.ACM杭电入门题 1.解题思路 三.解题参考代码(C语言,C++) 0.最优算法(C++) 1.辗转相除求解(C语言) ...

  4. [总结:]BZOJ水题70题留念

    时间过得很快,转眼间BZOJ已经做了70道水题了.现在做一个整理 1001:狼抓兔子:平面图最小割转化为最短路,主要麻烦再建图 1002:轮状病毒:行列式+高精度 1008:越狱:快速幂+组合数学 1 ...

  5. 水题/poj 1852 Ants

    1 /* 2 PROBLEM:poj1852 3 AUTHER:Nicole 4 MEMO:水题 5 */ 6 #include<cstdio> 7 using namespace std ...

  6. HDU2673-shǎ崽(水题)

    如果不能够直接秒杀的题,就不算水题.又应证了那句话,有时候,如果在水题上卡住,那么此题对于你来说,也就不算是水题了额~~ 刚睡醒,迷迷糊糊. 题目的意思很简单,求一个最大的,再求一个最小的.几乎是什么 ...

  7. 图论刷水题记录(二)(最短路-----SPFA算法)

    继第一篇的后续,又来刷水题了,写的是SPFA算法,这个算法的复杂度比较玄学,感觉能不用就不用了,但是他的好处就是可以判断负圈. 3月26日: 1.POJ 1847 Tram 题意:在一个交通网络上有N ...

  8. 图论刷水题记录(一)(最短路-----dijkstra算法)

    最近实在不知道干些什么,感觉自己除了水题什么都不会做,算了去刷一刷图论的水题吧本来想合起来一起发,想了想太长的话以后看起来也不方便,题目所以今天晚上就先发了dij部分,由上到下由易变难. 1.POJ ...

  9. hdu 2041:超级楼梯(水题,递归)

    超级楼梯Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submissio ...

最新文章

  1. html读取字典endfor,Flask和HTML,从python字典迭代到HTML表
  2. python不及格_10 个 Python 工程师,9 个不合格!!
  3. idea2021部署maven+javaweb项目到jboss(diy)
  4. java循环1000000000_求十亿内所有质数的和,怎么做最快?
  5. reactJS -- 13 JSX样式与CSS的互转
  6. ADT 压缩包 R23.0.0
  7. Android 即时通讯开发
  8. 2021-2025年中国氮化碳行业市场供需与战略研究报告
  9. 2017级C语言大作业 - 密室逃生
  10. jquery效果插件网址
  11. python水仙花数判断程序
  12. 把IE武装到牙齿,IE插件全攻略(转)
  13. 敏捷开发模式几个名词
  14. C++ uint8_t
  15. 数据结构实训-运动会分数统计
  16. 灰狼(GWO)算法(附完整Matlab代码,可直接复制)
  17. HTML DOM 导航
  18. python多级菜单_多级菜单.py
  19. 6个超实用的自媒体工具,百万博主都在用
  20. matlab求微分方程的初值问题,Matlab 解常微分方程的初值问题.doc

热门文章

  1. 教师继续教育 计算机知识,100道全国中小学教师继续教育网在线考试试题及答案...
  2. excel 内存或磁盘空间不足
  3. 一篇文章带你搞定 SpringBoot 上传文件(单文件/多文件/Ajax上传)
  4. AMD 锐龙3900x ROG X570E c9bjz内存超频作业
  5. ubuntu下连接远程打印机
  6. 服务器系统如何账务处理,云服务器费账务处理
  7. css3图片无缝滚动
  8. 矩阵消元-线性代数课时2(MIT Linear Algebra , Gilbert Strang)
  9. vins-mono保存、重载地图、evo工具测试
  10. HTML 基本开发方式,学会常用的 HTML 标签