题目大意:让求n!在base进制下的位数以及末尾0的连续个数。

  • 多少位

log_{10}256=log_{10}2102+log_{10}5*101+log_{10}610^0

可以发现,只和最高位有关,要想进位必须有10^3 ,那么通解:

数值a 在 b 进制下的位数为:floor(log_ba)+1

这里是阶乘化简: log_bn!=log_b1+log_b2+...+log_bn

  • 末尾有多少个0

可以考虑,123456789(25)...(5*600)

即进制的最大质因数,都多少个?

这里首先就有600个,注意是 51,52,53,54,...,5*600 这600个,

但是可以发现600,也可以分解:于是就有:51,52,53,54,...,5*600

即:1,2,3,4,5,6,...,600

依次地推下去。

最后要注意的是如果进制 b 最大质因数有k个,那么结果要 / k,因为必须是整除 b 进制。

#include <bits/stdc++.h>

using namespace std;

int cal_zero(int n,int b) {
int i,d,m,t;
for(i=2,d=1;i<=b;i++) {
m = 0;
while(b%i==0) {
m++;
d = i; //最大质因数
b /=i;
}
} for(t=0; n>0 ; ) {
t +=n/d;
n/= d;
}
return t/m;
} int main()
{
int n,b;
while(scanf("%d%d",&n,&b)!=EOF) { double l = 0;
for(int i=2;i<=n;i++) {
l += log10(i)/log10(b);
}
l++; int de = floor(l); int z = cal_zero(n,b); printf("%d %d\n",z,de); }
return 0;
}

Uva 10061 进制问题的更多相关文章

  1. UVA 10061 How many zero's and how many digits ? (m进制,阶乘位数,阶乘后缀0)

    题意: 给出两个数字a和b,求a的阶乘转换成b进制后,输出 (1)后缀中有多少个连续的0? (2)数a的b进制表示法中有多少位? 思路:逐个问题解决. 设a!=k.  k暂时不用直接转成b进制. (1 ...

  2. n!在k进制下的后缀0

    问n! 转化成k进制后的位数和尾数的0的个数.[UVA 10061 How many zeros and how many digits?] Given a decimal integer numbe ...

  3. SQL Server 进制转换函数

    一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下 ...

  4. 【搬砖】安卓入门(2)- Java开发编程基础--进制转换和运算符

    02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 ...

  5. TCP进制转换

    /// <summary> /// 将十六进制字符串转化为字节数组 /// </summary> /// <param name="src">& ...

  6. 将十进制数转为一个n位数的密码(每位都是个m进制数)

    例如一个6位数的10进制密码,共有106个密码,如果把每个6位数的密码编成号就是[0,106-1].这是十进制的情况,即6个位,每个位有10种选择.如果要遍历所有密码,需要6重for循环,每个循环10 ...

  7. - >code vs 1475 m进制转十进制

    1475 m进制转十进制  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果   题目描述 Description 将m进制数n转化成一个 ...

  8. ->code vs 1474 十进制转m进制

    1474 十进制转m进制  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果   题目描述 Description 将十进制数n转换成m进 ...

  9. C++各种进制的转换

    /* @author:CodingMengmeng @theme:各种进制之间的转换 @time:2017-1-6 21:39:08 @blog:http://www.cnblogs.com/codi ...

随机推荐

  1. 远程上传下载文件-Xftp5

    Xftp5下载 链接:https://pan.baidu.com/s/1Wzso_Q7mPy5uGOUlripEWg 密码:xfx9 安装选择家庭版 由于21端口没有开,所以不能选FTP,  选择SF ...

  2. Mastering the Game of Go 论文阅读笔记

    主要思想:用状态评估减少搜索深度,用动作采样减少搜索宽度. 参考文献:https://blog.csdn.net/songrotek/article/details/51065143

  3. linux系统优化基础

    linux系统优化基础 tags: linux 优化 kingle---### 1, 查看centos版本:cat etc/redhat-release 看看centos架构信息:uname -m 查 ...

  4. How to Create a Cron Job (Scheduled Task) for Your Website or Blog

    How to Create a Cron Job (Scheduled Task) for Your Website or Blog by Christopher Heng, thesitewizar ...

  5. 信号和槽:Qt中最差劲的创造

    不要被这个标题唬住了,实际上我是非常认可Qt的.在C++实现的开源产品中没有哪一个的API风格比得上Qt,拥有高度一致性,符合常识,符合直觉,几乎不用学就可以直接上手.或许是由于我们摆脱不了马太效应的 ...

  6. 004 java中的变量

    这篇文章为你搞懂三个问题 什么是变量? 如何使用变量? 变量命名有哪些规范? 变量 计算机的内存类似于人的大脑,电脑使用内存来存储计算所需要的数据. 内存像旅馆一样,不同的房间类型对应不同的数据类型, ...

  7. BNU7538——Clickomania——————【区间dp】

    Clickomania Time Limit: 10000ms Memory Limit: 32768KB 64-bit integer IO format: %I64d      Java clas ...

  8. 【VMware&Vritualbox】虚拟机安装windows server2016

    一.下载镜像 参考链接:https://blog.csdn.net/yenange/article/details/52981769 http://blog.sina.com.cn/s/blog_10 ...

  9. nopCommerce 3.9 版本发行

    NopCommerce中文信息地址:http://www.nopcn.com/nopcommerce39-blog-release-notes.html NopCommerce英文地址:http:// ...

  10. Hashtable元素的遍历

    遍历用到DictionaryEntry(字典键/值对) 实例 创建一个Hashtable对象,向其中添加4个元素,然后遍历 static void Main(string[] args) { Hash ...