java - 谜语 for(... i++)
问题描述
int count = 0;
for(int i=1; i<=88444300; i++){
// for(int i=1; i<=88444300; ){
i *= 2;
count++;
}
System.out.println("You need " + count + " times.");
你好!
如果我编码,i++ 对结果有何影响
for(int i=1; i<=88444300; )
它给出的计数是 27 而不是 26?
谢谢!
解决方案
没有i++
你正在计算系列
我n+1 = 2 * 我n
有了它,你正在计算
我n+1 = 2 * 我n + 1
不出所料,后者更快地达到极限 88 444 300(迭代次数更少)。
推荐阅读
- python - HoughCircles 圆圈检测不起作用?
- service - wampserver 3 项服务中的 2 项
- mongodb - Mongoose - 更新/查找数组中的特定对象未按预期工作
- reactjs - React:捕获未更改的表单值
- python - 字典键值无法获取 python
- knockout.js - MVC 中的 knockout.js - html 表中的绑定不起作用
- python - RuntimeWarning:在日志numpy中遇到除以零
- android - TranslationY 动画不能与 TransitionManager 一起播放
- python - 安装 apache-airflow 时出错:“无法为使用 PEP 517 且无法直接安装的 setproctitle 构建轮子”
- vue.js - Vue:深层嵌套对象上的观察者会记录 oldVal 和 newVal 吗?