链接:http://codeforces.com/problemset/problem/1114/C

题意:给定数字$n$和$b$,问$n!$在$b$进制下有多少后导零。

寒假好像写过这道题当时好像完全不会,之后也没记住写法,今天想做这场的F题看到这道顺便就给切了。

思路:能有后导零就说明$n!$能整除$b$,然后就是求$n!$的阶乘里面$b$的幂次有多少。先分解一下$b$求一下素因子及次数。在对$n!$求一下有素因子的幂次是多少,取比值最小的就是答案。

注意求$n!$里面素因子的幂次时可能会溢出,乘法变成除法即可。

#include <bits/stdc++.h>
#define ll long long
using namespace std; const int N = 1e5 + ;
pair<ll, ll> p[N];
int cnt; ll C(ll x, ll p) {
ll res = ;
ll temp = p;
while (x >= temp) {
res += x / temp;
if (x / p < temp) break;
temp *= p;
}
return res;
} int main() {
ll n, b;
scanf("%lld%lld", &n, &b);
for (ll i = ; i * i <= b; i++) {
if (b % i == ) {
p[++cnt].first = i;
p[cnt].second = ;
while (b % i == ) { p[cnt].second++; b /= i; }
}
}
if (b != ) { p[++cnt].first = b; p[cnt].second = ; }
ll ans = 1e18;
for (int i = ; i <= cnt; i++) {
ll res = C(n, p[i].first);
ans = min(ans, res / p[i].second);
}
cout << ans << '\n';
return ;
}

Codeforces1114C Trailing Loves (or L'oeufs?)的更多相关文章

  1. Codeforces1114C. Trailing Loves (or L'oeufs?)-(质因子分解)

    题目大意: 求n!转化为b进制后后导0的个数 思路: 我们首先考虑十进制转化为二进制者后,后导0的个数如何求 十进制数num y = num%2 num/=2 如果y为0则,该位为0,就是求num能连 ...

  2. CF 1114 C. Trailing Loves (or L'oeufs?)

    C. Trailing Loves (or L'oeufs?) 链接 题意: 问n!化成b进制后,末尾的0的个数. 分析: 考虑十进制的时候怎么求的,类比一下. 十进制转化b进制的过程中是不断mod ...

  3. CF#538(div 2) C. Trailing Loves (or L'oeufs?) 【经典数论 n!的素因子分解】

    任意门:http://codeforces.com/contest/1114/problem/C C. Trailing Loves (or L'oeufs?) time limit per test ...

  4. C. Trailing Loves (or L'oeufs?) (质因数分解)

    C. Trailing Loves (or L'oeufs?) 题目传送门 题意: 求n!在b进制下末尾有多少个0? 思路: 类比与5!在10进制下末尾0的个数是看2和5的个数,那么 原题就是看b进行 ...

  5. Trailing Loves (or L'oeufs?)

    The number "zero" is called "love" (or "l'oeuf" to be precise, literal ...

  6. C. Trailing Loves (or L'oeufs?)

    题目链接:http://codeforces.com/contest/1114/problem/C 题目大意:给你n和b,让你求n的阶乘,转换成b进制之后,有多少个后置零. 具体思路:首先看n和b,都 ...

  7. Codeforces Round #538 (Div. 2) C. Trailing Loves (or L'oeufs?) (分解质因数)

    题目:http://codeforces.com/problemset/problem/1114/C 题意:给你n,m,让你求n!换算成m进制的末尾0的个数是多少(1<n<1e18    ...

  8. Trailing Loves (or L'oeufs?) CodeForces - 1114C (数论)

    大意: 求n!在b进制下末尾0的个数 等价于求n!中有多少因子b, 素数分解一下, 再对求出所有素数的最小因子数就好了 ll n, b; vector<pli> A, res; void ...

  9. Codeforces - 1114C - Trailing Loves (or L'oeufs?) - 简单数论

    https://codeforces.com/contest/1114/problem/C 很有趣的一道数论,很明显是要求能组成多少个基数. 可以分解质因数,然后统计各个质因数的个数. 比如8以内,有 ...

随机推荐

  1. SQL Server 索引的最佳实践

    索引设计是数据库设计中比较重要的一个环节,对数据库的性能其中至关重要的作用,但是索引的设计却又不是那么容易的事情,性能也不是那么轻易就获取到的,很多的技术人员因为不恰当的创建索引,最后使得其效果适得其 ...

  2. 法那科 三菱 CNC虚拟机

    有虚拟机,就不用去线上 接线调机了,影响生产,还怕搞坏机子,很方便.

  3. AX 2012 Computed column IIF语句使用

    涉及Dynamics ax 行业已经好几年了,准备总结一些有用的处理方法供大家来参考 首先先介绍下Computed column技术,该技术是微软在AX2012版本中提供的新技术,可以让SQL语句在A ...

  4. scratch少儿编程第一季——09、声音模块:吹拉弹唱我也会

    各位小伙伴大家好: 上期我们学习了外观模块的指令,学会了制作特效. 本期我们来学习如何给游戏配音. 声音模块的指令不是很多,我们一起来看看吧. 首先第一个就是播放声音,里面默认插入了喵叫声. 我们点击 ...

  5. Equalizing Two Strings CodeForces - 1256F (思维)

    大意: 给定两个串$s,t$, 每次操作任选长度$len$, 分别翻转$s,t$中一个长$len$的子串, 可以进行任意次操作, 求判断能否使$s$和$t$相同. 字符出现次数不一样显然无解, 否则若 ...

  6. spark-sql使用笔记

    如何使用hive的udf 可以使用spark-sql --jars /opt/hive/udf.jar,指定udf的路径 还可以在spark-default.conf里指定spark.jars /op ...

  7. 自学Python编程的第二天----------来自苦逼的转行人

    今天是2019.9.11号22:51分 这是我自学Python的第二天,也是我写博客的第二天,还是不知道怎样写博客的第二天,有点懵 今天学Python还是一样的懵,错误还是有很多,而且脑中也不够灵活, ...

  8. k8s--scope.yaml

  9. CSS-宽度自适应和浏览器兼容笔记

    自适应 宽度自适应:网页元素根据窗口或子元素自动调整宽度 适用百分比进行设置,例如:100% 铺满:50% 占据一般宽度 块元素如果不设置宽度,默认为100% 自适应中可以设置最大或者最小宽度和高度 ...

  10. 供应链管理如何提高效率?APS系统成优化引擎

    APS系统,虽然它的起兴只有短短的十几年,但是在这段时间里面,它为很多企业解决了很多人工手动.脑力不可解决的问题. 所以APS被誉为供应链优化引擎,APS常常被称为高级计划与排程,但也有称为高级计划系 ...