首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

随机算法里的一路题

2012-10-12 
随机算法里的一道题现有BaseRandom()函数已知,且返回1的概率为p,返回0的概率为(1-p)。请你设计一个Random()

随机算法里的一道题
现有BaseRandom()函数已知,且返回1的概率为p,返回0的概率为(1-p)。请你设计一个Random(),且返回1的概率为0.5,返回0的概率为0.5。并且分析算法复杂度。

[解决办法]

C/C++ code
for(;;){  int a = BaseRandom();  int b = BaseRandom();  if(a+b == 1)    return a;}
[解决办法]
C/C++ code
while(1){  int a = BaseRandom();  int b = BaseRandom();  if(a+b==1)    return a;  else{      int c= BaseRandom();      int d= BaseRondom();      if( c+b==1)          return c;      else{          if( a+b+c+d == 2)              return a;      }} 

热点排行