题目大意:

求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?)-(质因子分解)的更多相关文章

  1. Codeforces1114C Trailing Loves (or L'oeufs?)

    链接:http://codeforces.com/problemset/problem/1114/C 题意:给定数字$n$和$b$,问$n!$在$b$进制下有多少后导零. 寒假好像写过这道题当时好像完 ...

  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. 视屏剪辑软件 & free video editor

    视屏剪辑软件 & free video editor purpose add animation keyframe to tutorials video vlog demos tutorial ...

  2. js 实现各种算法 APP

    js 实现各种算法 APP 常见算法: 排序,搜索/查找,枚举,遍历,最短路径,二叉树 open source web app desktop app react native app flutter ...

  3. 投资者通过这几种方式可以快速在NGK赚取收益

    2020年全球经济危机,各国经济持续低迷,资本市场变得躁动不安.而区块链市场,却异常火爆.各种公链项目相继而起,DeFi.分布式存储一个比一个火爆.NGK公链,无疑成为了这场热潮中有力的推动者之一,一 ...

  4. Vue学习笔记-jsonl转换显示工具JsonView安装及使用

    一  使用环境: windows 7 64位操作系统 二  jsonl转换显示工具JsonView安装及使用 1.下载: https://github.com/gildas-lormeau/JSONV ...

  5. JS语法-ES6

    1.介绍 ECMAScript 6简称ES6,是JavaScript语言的下一代标准. 2.常用属性及方法 2.1常量与变量的定义 在JavaScript中,我们一般使用var来定义变量,实际上它是有 ...

  6. Docker daemon socket权限不足

    一.概述 普通用户执行命令:docker ps报错,具体信息如下: docker: Got permission denied while trying to connect to the Docke ...

  7. MySQL深入研究--学习总结(1)

    前言 本文是笔者学习"林晓斌"老师的<MySQL实战45讲>过程中的,对知识点的总结归纳以及对问题的思考记录,课程18年11月就出了,当时连载形式,我就上班途中一边开车 ...

  8. Docker镜像构建原理解析(不装docker也能构建镜像)

    在devops流程里面 构建镜像是一个非常重要的过程,一般构建镜像是写dockerfile文件然后通过docker client来构建的image. docker client 会先检查本地有没有im ...

  9. 区分函数防抖&函数节流

    1. 概念区分 函数防抖:触发事件后,在n秒内函数只能执行一次,如果触发事件后在n秒内又触发了事件,则会重新计算函数延执行时间. 简单说: 频繁触发, 但只在特定的时间内才执行一次代码,如果特定时间内 ...

  10. 微信小程序自定义头部导航栏

    <!--index.wxml--> <view> <navbar id='index_header' background='{{background}}' pageNa ...