博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Wannafly挑战赛25 A.因子
阅读量:4691 次
发布时间:2019-06-09

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

传送门

[]

题意

给你n,m,让你求n!里有多少个m

分析

看这个你就懂了

[]//这里就是怎么统计n!里有多少个质因子i的原理
这题不同的是m不是素数,你把m分解质因子,统计每个质因子在p里的个数
然后每次取最小即可,具体看代码

代码

#include
using namespace std;#define ll long longll n,m,p,ans;int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>p; ans=1e18; for(int i=2;i<=p;i++) if(p%i==0)//挑出p里的质因子i { m=n; ll cnt=0; while(m){//统计n!里有多少个质因子 i m/=i; cnt+=m; } ll sum=0; while(p%i==0){//统计p里有多少个质因子i,并并把这个因子全部抠出p p/=i; sum++; } ans=min(ans,cnt/sum);//取最小即可 } cout<
<

转载于:https://www.cnblogs.com/mch5201314/p/9732717.html

你可能感兴趣的文章