小A进学校

题目描述

近日,清华大学挖出来一个明清古墓。小A决定冒充考古系科研人员去盗墓。他遇到的第一个难关是来自校门口保安的质疑,因为小没有清华学生证,所以保安决定通过问问题的方式验证小A的身份。

保安会说出两个整数n和k,小A需要回答的阶乘在进制下末尾零的个数。

输入

一行两个整数,表示n和k。

输出

一个整数表示n的阶乘在k进制下末尾零的个数。

样例输入

10 40

样例输出

2

提示


【题解】

  进制为k,然后对k进行质因数分解即可,然后取每个质数,搜索有多少个,然后每个  质数的个数之和 ,再取一个最小值即可。

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll ;
const int N = 2e6+ ; /* Euler function */
int prime[N] , cnt ;
bool Is_prime[N];
void Euler(){
for( int i = ; i < N ; i++ ){
if( !Is_prime[i] ){
prime[cnt++] = i ;
}
for( int j = ; j < cnt && prime[j] * i < N ; j ++ ){
Is_prime[ prime[j] * i ] = true ;
if( i % prime[j] == ){
break;
}
}
}
} ll n , k ;
ll A[N],B[N],C[N];
ll qpow( ll a , ll b ){
ll ans = ;
while( b ){
if( b & ) ans = ans * a ;
b >>= ;
a = a * a ;
}
return ans ;
}
int main()
{
Euler() ;
/*
for( int i = 0 ; i < 10 ; i++ ){
printf("%d\n",prime[i]);
}
*/ ios_base :: sync_with_stdio( false );
cin.tie(NULL) , cout.tie(NULL);
cin >> n >> k ; int tot = ;
for( int i = ; i < cnt && prime[i] * prime[i] <= k ; i++ ){
if( k % prime[i] == ){
A[tot] = prime[i] ;
while( k % prime[i] == ){
k /= prime[i] ;
B[tot] ++ ;
}
tot ++ ;
}
} if( k != 1ll ){
A[tot] = k ;
B[tot] = ;
tot ++ ;
} for( int i = ; i < tot ; i++ ){
ll tmp = A[i] ;
//cout << tmp << endl;
ll num = n / tmp ;
for( ; tmp <= n / A[i] ; ){
tmp = tmp * A[i] ;
num += n / tmp ;
}
tmp = qpow( A[i] , B[i] );
C[i] = num / B[i] ;
//cout << A[i] << " " << num << " " << tmp << " " << B[i] << endl;
}
ll ans = 0x7fffffffffffffff;
for( int i = ; i < tot ; i++ ){
ans = min( ans , C[i] ) ;
}
cout << ans << endl ;
return ;
}

【数论】小A进学校的更多相关文章

  1. BZOJ4635 : 数论小测验

    第一问: 设$a[i]$表示使用$[1,i]$的数字$n$次形成的数组里有多少个$\gcd=1$. 考虑容斥,则$a[i]=i^n-\sum_{j=2}^i a[\lfloor\frac{i}{j}\ ...

  2. Codeforces Round #538 (Div. 2) C 数论 + 求b进制后缀零

    https://codeforces.com/contest/1114/problem/C 题意 给你一个数n(<=1e8),要你求出n!在b进制下的后缀零个数(b<=1e12) 题解 a ...

  3. codeforces 615 D. Multipliers (数论 + 小费马定理 + 素数)

    题目链接: codeforces 615 D. Multipliers 题目描述: 给出n个素数,这n个素数的乘积等于s,问p的所有因子相乘等于多少? 解题思路: 需要求出每一个素数的贡献值,设定在这 ...

  4. noip考前抱佛脚 数论小总结

    exCRT 求解韩信点兵问题,常见的就是合并不同\(mod\). 先mo一发高神的板子 for(R i=2;i<=n;++i){ ll Y1,Yi,lcm=Lcm(p[i],p[1]); exg ...

  5. C++-蓝桥杯-小计算器[进制转化][模拟]

    #include <cstdio> #include <string> #include <cstring> #include <iostream> u ...

  6. [SDOI2009]学校食堂Dining

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  7. [SDOI2009]学校食堂

    题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人的口味都可以用一个非负整数 ...

  8. SDOI 2009 学校食堂

    洛谷 P2157 [SDOI2009]学校食堂 洛谷传送门 JDOJ 1924: [SDOI2009]学校食堂Dining JDOJ传送门 Description 小F 的学校在城市的一个偏僻角落,所 ...

  9. BZOJ 1226: [SDOI2009]学校食堂Dining

    1226: [SDOI2009]学校食堂Dining Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 730  Solved: 446[Submit][ ...

随机推荐

  1. 深度学习面试题12:LeNet(手写数字识别)

    目录 神经网络的卷积.池化.拉伸 LeNet网络结构 LeNet在MNIST数据集上应用 参考资料 LeNet是卷积神经网络的祖师爷LeCun在1998年提出,用于解决手写数字识别的视觉任务.自那时起 ...

  2. SpringBoot整合Quartz和H2的例子

    话不多说,直接上代码: pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  3. lintcode 394. Coins in a Line 、leetcode 292. Nim Game 、lintcode 395. Coins in a Line II

    变型:如果是最后拿走所有石子那个人输,则f[0] = true 394. Coins in a Line dp[n]表示n个石子,先手的人,是必胜还是必输.拿1个石子,2个石子之后都是必胜,则当前必败 ...

  4. 美国gfs数据介绍和解析

    最近有个项目需要开发个气象信息API,可以通过经纬度查找未来几天的气象信息. 经过几天的研究,现在简单总结一下. 1.数据来源数据来源采自美国国家环境预报中心的GFS(全球预报系统),该系统每天发布4 ...

  5. Android平台签名证书(.keystore)生成指南

    来源:https://ask.dcloud.net.cn/article/35777 Android平台签名证书(.keystore)生成指南 分类:HTML5+ Android证书 Android平 ...

  6. OpenLDAP配置坎坷路

    https://segmentfault.com/a/1190000014683418 轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDA ...

  7. 【Linux】采用nginx反向代理让websocket 支持 wss

    背景:玩swoole 服务 使用Nginx反向代理解决wss问题. 即客户端通过wss协议连接 Nginx 然后 Nginx 通过ws协议和server通讯. 也就是说Nginx负责通讯加解密,Ngi ...

  8. PAT 甲级 1064 Complete Binary Search Tree (30 分)(不会做,重点复习,模拟中序遍历)

    1064 Complete Binary Search Tree (30 分)   A Binary Search Tree (BST) is recursively defined as a bin ...

  9. 一份 Tomcat 和 JVM 的性能调优经验总结!拿走不谢

    Tomcat性能调优 找到Tomcat根目录下的conf目录,修改server.xml文件的内容.对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建 ...

  10. Jquery操作表格多出一个内容行

    目录 前言 需求 如何监听每一行点击,获取点击id 前后端 问题更新,ajax异步带来的问题 废弃使用HTML拼接 前言 我的前端实在是太差劲了,导致Jquery操作表格多出一个内容行,这个功能我都做 ...