Codeforces1114C. Trailing Loves (or L'oeufs?)-(质因子分解)
题目大意:
求n!转化为b进制后后导0的个数
思路:
我们首先考虑十进制转化为二进制者后,后导0的个数如何求
十进制数num
y = num%2
num/=2
如果y为0则,该位为0,就是求num能连续除以几次2(在整除的条件下)
十进制是num,进制为b
我们可以采取同样的思路
但是!
这里n!太大了,没法直接算出来
我们采取分解质因子的方式
同时我们对b也分解质因子(因为num要包含整个的b,如果b分解质因子之后的每一项都包含,则说明有整除关系)
n! --> a1[i]^b1[i] * a2[i]^b2[i] * a3[i]*b3[i]
b --> c1[i]^d1[i] * c2[i]^d2[i] * c3[i]*d3[i]
对b的每项在N!中查找包含了几个,取min就是答案
注意爆long long
Code:

ll n, b, ans = 1e18;
ll cal(ll t, ll temp)
{
ll res = 0;
ll nn = n;
for(ll i = t; i <= n ; i *= t)
{
res += (n / i);
if(i*t >n) break;
}
return res / temp;
}
void solve(ll num)
{
for(ll i = 1 ; i <= x ; i++)
{
ll t = p[i];
if(t > num) break;
ll temp = 0;
while(num % t == 0)
{
num /= t;
temp++;
}
if(temp) ans = min(ans, cal(t, temp));
}
if(num > 1) ans = min(ans, cal(num, 1));
}
int main()
{
oula();
n = read(), b = read();
solve(b);
out(ans);
return 0;
}
Codeforces1114C. Trailing Loves (or L'oeufs?)-(质因子分解)的更多相关文章
- Codeforces1114C Trailing Loves (or L'oeufs?)
链接:http://codeforces.com/problemset/problem/1114/C 题意:给定数字$n$和$b$,问$n!$在$b$进制下有多少后导零. 寒假好像写过这道题当时好像完 ...
- CF 1114 C. Trailing Loves (or L'oeufs?)
C. Trailing Loves (or L'oeufs?) 链接 题意: 问n!化成b进制后,末尾的0的个数. 分析: 考虑十进制的时候怎么求的,类比一下. 十进制转化b进制的过程中是不断mod ...
- 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 ...
- C. Trailing Loves (or L'oeufs?) (质因数分解)
C. Trailing Loves (or L'oeufs?) 题目传送门 题意: 求n!在b进制下末尾有多少个0? 思路: 类比与5!在10进制下末尾0的个数是看2和5的个数,那么 原题就是看b进行 ...
- Trailing Loves (or L'oeufs?)
The number "zero" is called "love" (or "l'oeuf" to be precise, literal ...
- C. Trailing Loves (or L'oeufs?)
题目链接:http://codeforces.com/contest/1114/problem/C 题目大意:给你n和b,让你求n的阶乘,转换成b进制之后,有多少个后置零. 具体思路:首先看n和b,都 ...
- 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 ...
- Trailing Loves (or L'oeufs?) CodeForces - 1114C (数论)
大意: 求n!在b进制下末尾0的个数 等价于求n!中有多少因子b, 素数分解一下, 再对求出所有素数的最小因子数就好了 ll n, b; vector<pli> A, res; void ...
- Codeforces - 1114C - Trailing Loves (or L'oeufs?) - 简单数论
https://codeforces.com/contest/1114/problem/C 很有趣的一道数论,很明显是要求能组成多少个基数. 可以分解质因数,然后统计各个质因数的个数. 比如8以内,有 ...
随机推荐
- 5G & 音频,视频
5G & 音频,视频 直播,webtrtc 音频,视频 基础知识 基本概念.播放流程.封装格式.编解码.传输协议 音视频播放流程 主要流程:采集 -> 前处理 -> 编码 -> ...
- Raspberry Pi & Node.js & WebSockets & IM
Raspberry Pi & Node.js & WebSockets & IM Raspberry Pi 4 nvm & node.js $ curl -o- htt ...
- Angular 2020
Angular 2020 https://angular.io/start https://angular.io/guide/browser-support "@angular/core&q ...
- NGK.IO超级节点是我们掌握的下一个财富密码吗?
从日前NGK.IO发布的新闻中,我们捕捉到了一个非常重要的信息,那就是反复被提到的"超级节点".很多人都对这个"超级节点"一头雾水,这个"超级节点&q ...
- 如何在数据库中进行RBAC权限应用
上周我们发了一篇关于"删库跑路"引发了大家对于数据安全的思考,而权限管理又跟数据安全密不可分.权限管理作为数据系统的重要组成部分,通过控制账号的可支配能力,防止因用户操作不当导致的 ...
- 百度 Apollo无人车平台增加传感器
https://github.com/ApolloAuto/apollo/issues/1649 如果想加入一个新的传感器不是百度官方推荐的传感器到Apollo平台做法: First you can ...
- GPU 总结
What features of GPUs allow them to perform computations faster than a typical CPU? GPUs have a mass ...
- 五大自动化测试的Python框架
1.Robot Framework 作为最重要的Python测试框架之一,Robot Framework主要被用在测试驱动(test-driven)类型的开发与验收中.虽然是由Python开发而来,但 ...
- Markdown(2)基本语法
Markdown 是一种轻量级标记语言 , 通过简单的标记语法,使文本内容具有一定的格式 . 一.段落 1. 标题 语法格式: 符号 "#" 可以标记 1~6级标题.一级标题对 ...
- uniapp封装uni.request请求
封装一个uniapp请求 新建一个http.js文件封装uni.request const BASE_URL = process.env.NODE_ENV === 'development' ? '' ...