栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3621 Factorial Problem in...

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3621 Factorial Problem in...

# include <iostream># include <cstdio># include <cstring>using namespace std;const int P[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61};const int PN = 18;long long s; int k;long long fact(long long s,int k){long long res = 0;while ( s > 0 ) res += (s/=k);return res;}int getNum(char c){if ( isdigit(c) ) return c - '0';if ( 'A' <= c && c <= 'Z') return 10 + c - 'A';return 36 + c - 'a';}bool getInit(){char a[100]; if ( scanf("%s",a) == EOF )return false;s = 0; scanf("%d", &k);for(int i=0; i<strlen(a); i++)s = s * k + getNum(a[i]);return true;}int main(){while ( getInit() ) {long long Ans = ~0ULL>>1;for(int i=0; i<PN; i++) {int t = 0;while( k % P[i] == 0 ) k /= P[i], t ++;if ( !t ) continue;Ans = min(Ans, fact(s,P[i]) / t);}cout << Ans << endl;}return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381428.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号