2706:麦森数 百炼oj
来源:互联网 发布:中断控制器编程实验 编辑:程序博客网 时间:2024/05/10 19:57
点击打开链接http://bailian.openjudge.cn/practice/2706/
题目:求麦森数,要去打印有多少位,另外求出后500位,不足500位高位补0。
可将此题目分解为以下几个问题:
一、求出有多少位
分析可知,2的幂次方,结果可为:2,4,6,8,因此可求出2的幂次方有多少位既是2的幂次方减1有多少位,可利用对数恒等式计算,
int(P*log10(2) + 1),注意取整。
二、怎么计算一个数的幂,暂时两种方法?
(1):移位计算,x<<t.将数x左移t位,等于乘以2的t次幂。(像4,8,16等的次幂均可通过移位计算)。
(2):写成一共函数计算,循环多次。
三、保存后面500位的结果。
可以压缩,也可以不压缩,建议压缩。压缩时应该注意int 表示的范围在32767所以每次计算2的14次方,ans数组中每个元素可以保存5位数,因此相邻元素之间的进制变为100000.
阅读全文
0 0
- 2706:麦森数 百炼oj
- 百炼OJ 2801:填词
- 百炼OJ:2801:填词
- 百炼OJ 1657:Distance on Chessboard
- 百炼OJ 1017:装箱问题
- 百炼OJ 2972:确定进制
- 百炼OJ 2973:Skew数
- 百炼OJ 2742:统计字符数
- 百炼OJ 2744 子串
- 1017:装箱问题 百炼oj
- 百炼OJ:4146:数字方格
- 2811:熄灯问题 百炼oj
- 百炼OJ 2750 鸡兔同笼
- 百炼OJ 2808:校门外的树
- 程序设计:1035:拼写检查——百炼oj
- 百炼OJ:2750:鸡兔同笼
- OpenJudge百炼-2706-麦森数-C语言-高精度计算
- 百炼
- 数据库连接池配置详解
- python开头的coding设置
- Spring(02)——bean实例化
- iOS Weex与Native交互
- python基础
- 2706:麦森数 百炼oj
- Source Insight 4.0默认显示字体设置
- Oracle tkprof工具格式化 10046 event trace文件
- 交流电过零点检测电路总结
- Zimbra 8.7.11规则:只能发送内部邮件
- 加密工具之AES128
- 禁区——不要走入政府采购的“黑名单”
- Windows下编译freeSWITCH
- 使用Tchart绘制曲线时遇到的问题