蚂蚁碰撞概率计算
2016-08-17 12:21
232 查看
题目分析,无论是几只蚂蚁,因为每个蚂蚁占据一个顶点,因此不发生碰撞的情况只有2种,即全部都顺时针爬行或者逆时针爬行。所以只要求出一共爬行的情况就好,而显然有2n 种情况。
第一次提交的代码如下:
import java.util.*; public class Ants { public double antsCollision(int n) { // write code here int sum = 1; for(int i = 0;i<n;i++) { sum*=2; } double reslut = 0; reslut = (double)(sum-2)/(double)sum; return reslut; } }
对于上述代码,既然我们用到了2的幂,显然使用位运算在性能上会更加划算。
改进之后的代码:
import java.util.*; public class Ants { public double antsCollision(int n) { // write code here int sum=(1<<n); double reslut = (double)(sum-2)/(double)sum; return reslut; } }
这样代码性能显然会好很多。
相关文章推荐
- 蚂蚁碰撞概率
- 计算随机情况下HASH发生碰撞的概率
- 回溯(穷举)计算碰撞概率
- ADV-123-概率计算
- C++/ python 计算硬币正面朝上的概率
- 哈希表等概率情况下查找成功和查找不成功的平均查找长度的计算
- 用概率的方法计算Pi值
- 一个关于先验概率、似然函数与后验概率计算的小例子
- 计算概率的软件
- Python计算斗牛游戏的概率
- 蓝桥杯 概率计算
- codeforces 696B Puzzles 树形概率计算
- (转)地形碰撞高度计算
- 三国杀 中的概率计算 几何分布的期望和方差分析
- PHP编程实现计算抽奖概率算法完整实例
- 条件概率的几何解释 由定义计算条件概率 由条件概率公式计算条件概率
- 概率计算 PHP幸运星
- 碰撞的蚂蚁
- hdu 2955Robberies(01背包 概率计算)
- 游戏碰撞检测 AABB包围体 sphere 圆形包围体计算