UVAOJ 10061(未完结。续待)
发布日期:2022-03-30 20:19:26
浏览次数:35
分类:博客文章
本文共 395 字,大约阅读时间需要 1 分钟。
这题有点复杂,题目要求十进制数N!在B进制下表示后末尾的0个数和总的位数。
分析如下:
1. 求末尾0的个数:
思路是将N!分解为素数的积,记录下<=B的素数因子的个数(小于等于B的原因代码中解释了)。然后不断地从N!的因子中提取因子,使之刚好能乘积为B,则这几个因子可使N!在B进制下末尾产生一个0,直到提取不出为止。(当然,写代码的思路是不断分解B,当不能找到N!中小于等于B的因子用来分解B时结束)。记录下上述过程中B被分解了几次,即在末尾产生了几个0.
2. 求总的位数:
由于B进制下m位数所能表示的最大值在十进制下为B^m-1,故
设总位数为m,则 B^(m-1) -1 < N! <= B^m -1,即 B^(m-1) <= N! < B^m
取10为底的对数得到: (m-1)*log10(B) <= log10(N!) < m*log10(B)
故得到求总的位数m的方法。
转载地址:https://www.cnblogs.com/acmicpcstar/p/3690037.html 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年04月06日 15时47分41秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Word页面底部有空白却自动换行的解决方案
2019-04-28
振动抑制浏览笔记
2019-04-28
MATLAB - 双y坐标绘图
2019-04-28
Matlab中legend的位置
2019-04-28
Eigen3矩阵与数组的互相转换
2019-04-28
动力学方程MCG矩阵的计算
2019-04-28
windows下Makefile无法删除中间文件的解决方案
2019-04-28
Simulink生成ROS功能包的步骤总结
2019-04-28
硬件在环(HIL)仿真方案
2019-04-28
基于模型设计(MBD)的机器人开发流程
2019-04-28
机器人非实时性示教系统的框架
2019-04-28
协作机械臂伺服驱动关键技术公开课笔记
2019-04-28
从伺服系统来看如何提升机器人的轨迹精度 公开课笔记
2019-04-28
关于Adams安装过程中问题的解决记录
2019-04-28
kinova-Mico安装与调试
2019-04-28
Elmo运动控制器 —— Maestro Software编程实践指南
2019-04-28
Elmo运动控制器 —— Maestro Software结构和接口
2019-04-28
Power PMAC运动控制器 —— 学习笔记2
2019-04-28
运动控制 —— 强大的状态机工具
2019-04-28
Platinum Maestro运动控制器 —— PVT模式笔记
2019-04-28