Uva 10061 进制问题
题目大意:让求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 进制问题的更多相关文章
- 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 ...
- n!在k进制下的后缀0
问n! 转化成k进制后的位数和尾数的0的个数.[UVA 10061 How many zeros and how many digits?] Given a decimal integer numbe ...
- SQL Server 进制转换函数
一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下 ...
- 【搬砖】安卓入门(2)- Java开发编程基础--进制转换和运算符
02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 ...
- TCP进制转换
/// <summary> /// 将十六进制字符串转化为字节数组 /// </summary> /// <param name="src">& ...
- 将十进制数转为一个n位数的密码(每位都是个m进制数)
例如一个6位数的10进制密码,共有106个密码,如果把每个6位数的密码编成号就是[0,106-1].这是十进制的情况,即6个位,每个位有10种选择.如果要遍历所有密码,需要6重for循环,每个循环10 ...
- - >code vs 1475 m进制转十进制
1475 m进制转十进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将m进制数n转化成一个 ...
- ->code vs 1474 十进制转m进制
1474 十进制转m进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将十进制数n转换成m进 ...
- C++各种进制的转换
/* @author:CodingMengmeng @theme:各种进制之间的转换 @time:2017-1-6 21:39:08 @blog:http://www.cnblogs.com/codi ...
随机推荐
- Python学习 day08
一.open打开文件 文件操作包含以下三个步骤: 1.文件路径 2.编码方式 3.操作方式:‘’只读‘’.“只写”.“读写” 等 1.只读 r (mode默认值) 例: f = open('d:\py ...
- stream4
import java.util.Comparator; import java.util.function.BinaryOperator; public class BinaryOperatorTe ...
- Rsa2加密报错java.security.spec.InvalidKeySpecException的解决办法
最近在和支付宝支付做个对接,Java项目中用到了RSA2进行加解密,在加密过程中遇到了错误: java.security.spec.InvalidKeySpecException: java.secu ...
- 远程上传下载文件-Xftp5
Xftp5下载 链接:https://pan.baidu.com/s/1Wzso_Q7mPy5uGOUlripEWg 密码:xfx9 安装选择家庭版 由于21端口没有开,所以不能选FTP, 选择SF ...
- Oracle 更改归档文件到ASM磁盘
01,配置磁盘路径
- LINUX学习之一:
学好linux的基础:C语言(GNU C语言与GCC):硬件基础:熟悉操作系统内核代码,熟悉多线程和网络知识.分驱动开发(驱动程序模型即框架)和应用程序开发,目标是驱动开发 驱动开发特点: 不能使用标 ...
- RBAC基于角色的权限访问控制
RBAC是什么,能解决什么难题?ThinkPHP中RBAC实现体系安全拦截器认证管理器访问决策管理运行身份管理器ThinkPHP中RBAC认证流程权限管理的具体实现过程RBAC相关的数据库介绍Th ...
- springMVC静态资源访问
springMVC默认是访问不到静态资源的,如css,js等,需要在xml里进行配置 保证已经配置好了 web.xml, <!-- Spring MVC servlet --> <s ...
- Composite Design Pattern in Java--转
https://dzone.com/articles/composite-design-pattern-in-java-1 The composite pattern is meant to &quo ...
- BindingResult参数验证的跨层次迭代验证
public ResponseWrapper<Object> recordAdd(@RequestBody @Valid ReqAddEnterpriseInfoDTO addEnterp ...