C. Trailing Loves (or L'oeufs?) (质因数分解)
Posted zhgyki
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C. Trailing Loves (or L'oeufs?) (质因数分解)相关的知识,希望对你有一定的参考价值。
C. Trailing Loves (or L‘oeufs?)
题意:
求n!在b进制下末尾有多少个0?
思路:
类比与5!在10进制下末尾0的个数是看2和5的个数,那么
原题就是看b进行质因数分解后,每个因数个数的最小值
代码:
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define N 1000005 ll pri[N]; ll cnt[N]; ll tot; void getpri(ll x) { memset(cnt,0,sizeof(cnt)); memset(pri,0,sizeof(pri)); for(ll i=2;i*i<=x;i++) { while(x%i==0) { pri[tot]=i; cnt[tot]++; x/=i; } if(cnt[tot]) tot++; } if(x>1) pri[tot]=x,cnt[tot++]++; } ll solve(ll x,ll p) { ll res=0; while(x) { res+=x/p; x/=p; } return res; } int main() { ll n,b; while(~scanf("%lld %lld",&n,&b)){ tot=0; getpri(b); ll maxn=1e18; /*for(int i=0;i<tot;i++) cout<<pri[i]<<" "<<cnt[i]<<endl;*/ for(ll i=0;i<tot;i++) { maxn=min(maxn,solve(n,pri[i])/cnt[i]); } printf("%lld ",maxn); } return 0; }
以上是关于C. Trailing Loves (or L'oeufs?) (质因数分解)的主要内容,如果未能解决你的问题,请参考以下文章
CF 1114 C. Trailing Loves (or L'oeufs?)
Trailing Loves (or L'oeufs?) CodeForces - 1114C (数论)
CF-1114C-Trailing Loves (or L'oeufs?)
CF#538 C - Trailing Loves (or L'oeufs?) /// 分解质因数