Number (Standard IO)
2016-07-17 14:23
344 查看
Description
给出一个整数 ,你可以对 进行两种操作。1、将x变成4x+3
2、将x变成8x+7
问,最少通过多少次操作,使得x是1000000007的倍数?
题解:
听人说什么4x+3的立方等于8x+7的平方,2(2x+1)+1=4x+3,2(4x+3)+1=8x+7~~然后就没有然后了,考试时我一心奔着50%(操作次数<=10)去暴力了,没想到。
代码:
var a:int64; b:real; begin readln(a); while a mod 1000000007<>0 do begin a:=a mod 1000000007; a:=a*2+1; b:=b+1; end; b:=b/3; if trunc(b)<>b then writeln(trunc(b)+1) else writeln(b:0:0); end.
相关文章推荐
- BINLOG之1781的问题
- dialog.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __cdecl InputDlg::InputDlg(class QWidget *)" (??0I
- 289. Game of Life
- Masonry介绍与使用实践(快速上手Autolayout)
- test if DEMO
- MyCAT-1.4-RC基准测试
- java设计模式-工厂模式
- CTF百密一疏——凯撒密码
- POJ2393————Yogurt factory (贪心)
- xxx
- POJ3258(最大化最小值)
- MediaPlayerManager
- Android Studio 构建项目一直卡在 gradle build running 解决方法
- [暑假集训] jzoj 2016.7.17 noip模拟赛C&B 总结
- genymotion 启动模拟器"unable to start the virtual device"问题解决
- gulp + browserSync 一起提高前端开发效率吧!
- jzoj 1365. 【队列练习】奇怪的电梯
- 深入浅出 RecyclerView
- css3学习以及移动端开发基本概念的思考
- hihocoder-平衡树·SBT