zoj_3621 Factorial Problem in Base K

来源:互联网 发布:windows api 参考手册 编辑:程序博客网 时间:2024/06/07 21:38

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4745

 

//C++代码#include<iostream>#include<cstring>#include<cctype>using namespace std;typedef long long LL;int main(){string p;LL k;while(cin>>p>>k){LL i,s=0,t=0,a[4],b[4]={0},c[4]={0};for(i=0;i<p.length();i++){s=s*k+p[i]-'0'-(isupper(p[i])? 7:0)-(islower(p[i])? 13:0);}for(i=2;i<=k;i++){if(k%i==0){while(k%i==0){k/=i;b[t]++;}a[t++]=i;}}for(i=0;i<t;i++){LL q=s;while(q){q/=a[i];c[i]+=q;}c[i]/=b[i];}LL min=c[0];for(i=1;i<t;i++){if(c[i]<min) min=c[i];}cout<<min<<endl;}return 0;}