【发布时间】:2012-11-30 18:19:54
【问题描述】:
假设我有一个返回随机位的函数,是否可以写一个函数在一定范围内统一生成一个随机数并始终终止?
我知道如何执行此操作,以便它应该(并且可能会)终止。我只是想知道是否有可能编写一个保证终止(并且它不必特别有效。它会有什么复杂性?
这是不总是终止版本的代码
int random(int n)
{
while(true)
{
int r = 0;
for (int i = 0; i < ceil(log(n)); i++)
{
r = r<<1;
r = r|getRandomBit();
}
if(r<n)
{
return r;
}
}
}
【问题讨论】:
标签: random complexity-theory theory