当前位置: 首页 > 面试题库 >

返回一个随机的偶数

施越彬
2023-03-14
问题内容

我有以下方法。方法rnd返回两个边界之间的单个随机整数:

  /* Create next batch of 55 random numbers */
  void advance_random (){
int j1;
double new_random;
for(j1=0; j1<24; j1++){
  new_random = oldrand[j1]-oldrand[j1+31];
  if(new_random<0.0){
    new_random = new_random+1.0;
  }
  oldrand[j1] = new_random;
}
for(j1=24; j1<55; j1++){
  new_random = oldrand[j1]-oldrand[j1-24];
  if(new_random<0.0){
    new_random = new_random+1.0;
  }
  oldrand[j1] = new_random;
}
 } //advance_ramdom

  /* Fetch a single random number between 0.0 and 1.0 */
  double randomperc(){
jrand++;
if(jrand>=55){
  jrand = 1;
  advance_random();
}
return((double)oldrand[jrand]);
  } //randomPerc

  /* Fetch a single random integer between low and high including the bounds */
  synchronized int rnd (int low, int high){
int res;
if (low >= high){
  res = low;
} else {
  res = low + (int)(randomperc()*(high-low+1));
  if (res > high){
    res = high;
  }
}
return (res);
  } // rnd

如何修改此值,以使返回的数字mod2 = 0?

谢谢


问题答案:

如果您可以获得范围内的随机数,[a, b]那么您要做的就是获得范围内的随机数[(a+1)/2, b/2]并将其乘以2以得到范围内的随机偶数[a, b]



 类似资料:
  • srandmember key 同spop,随机取set中的一个元素,但是不删除元素

  • 问题内容: 我需要创建一个 Java 方法以返回或随机返回。我怎样才能做到这一点? 问题答案: 该类已经具有此功能: 但是,每次需要随机布尔值时始终创建一个新实例并不高效。相反,请在您的类中创建需要随机布尔值的type属性,然后为每个新的随机布尔值使用该实例:

  • randomkey 如果当前数据库是空的,返回空串

  • 这是一个好的。我正在通过DB::select($sql)运行以下查询: 现在-在workbench上执行时,查询总是返回完全相同的结果,但是所述函数返回的对象数组的行为很奇怪,也就是说-它将我的结果随机化: 这就是我转储查询和结果的方式: 每刷新一页,上述结果的顺序都会发生变化(尽管前几个结果保持不变)。我已经坚持了很长一段时间了,所以任何提示都将不胜感激! 编辑: 我说到这里时,顺序如下: 混合

  • 问题内容: 好的,有没有一种方法可以从函数中返回值-该方法可以-但不能 停止 该函数-该方法可以呢? 我需要这个,所以我可以经常返回值。(由或其他方式提供的延迟。) 问题答案: 我想你在找。例:

  • 本文向大家介绍JavaScript返回0-1之间随机数的方法,包括了JavaScript返回0-1之间随机数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript返回0-1之间随机数的方法。分享给大家供大家参考。具体如下: JavaScript的Math对象的random方法可以返回一个0-1之间随机数 希望本文所述对大家的javascript程序设计有所帮助。