小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. sublime 删除重复行

    sublime 删除重复行 - 国内版 Binghttps://cn.bing.com/search?q=sublime+%E5%88%A0%E9%99%A4%E9%87%8D%E5%A4%8D%E8 ...

  2. pcm、wav、amr说明

    wav比pcm多44个字节(在文件头位置多)

  3. Qt widget中使用QML自定义电池

    1.效果 2.QML 在资源里新建Mybattery.qml: import QtQuick 2.0 import QtQuick 2.12 Item { id: root property colo ...

  4. Laya的动画制作,整图动画,序列图动画,时间轴动画,龙骨动画

    参考: Laya动画基础 Egret帧动画工具类 版本:2.1.1.1 序列图动画 白鹭的序列图动画,使用TexureMerger合图,然后使用MovieClip类播放. Laya的话,使用图集打包工 ...

  5. 【Leetcode_easy】1071. Greatest Common Divisor of Strings

    problem 1071. Greatest Common Divisor of Strings solution class Solution { public: string gcdOfStrin ...

  6. React:快速上手(8)——前后端分离的跨域访问与会话保持

    React:快速上手(8)——前后端分离的跨域访问与会话保持 跨域访问 跨域是指从一个域名的网页去请求另一个域名的资源.比如从http://www.baidu.com/ 页面去请求http://www ...

  7. 简简单单储存过程——循环一个select结果集

    原文地址:https://shitou521.iteye.com/blog/1069027 摘要:本文主要讲解了存储过程的创建.调用.以及游标的使用 ,相信掌握了游标      会对你有不错的帮助,有 ...

  8. win10中禁用Ctrl+Alt+上下左右箭头的方法

    win10的Ctrl+Alt+向左/右/上/下箭头,与pycharm中的快捷键有冲突,需要禁用 右键''显示设置''---->高级显示设置------->显示器1的显示适配属性-----& ...

  9. JIRA数据库的迁移,从HSQL到MYSQL/Oracle

    Jira数据库迁移,从HSQL到MYSQL 通过JIRA管理员登录,进入“管理员页面”,“系统”--“导入&导出”,以XML格式备份数据. 在MySQL中创建Schema,命名为jira 关闭 ...

  10. [Asp.Net Core] - 设置 Syncfusion / RichTextEditor 移除超链接及高度自适应 的方法

    背景 使用 Syncfusion / RichTextEditor 对录入后的信息进行展示:1. 希望内容高度自适应.2. 希望禁用原文中的超链接.   实现 <div class=" ...