我有一个(均匀的)随机位流,我希望在[0,n]范围内统一生成随机整数,而不会浪费比特.(我正在考虑超出楼层(log_2(n))+ 1的比特浪费,假设它总是可以使用不超过它.)例如,如果n = 5,那么算法我是寻找应该使用不超过三位.如何才能做到这一点?
我是javascript的新手,并试图找到一个数字的素数因子,在javascript中使用for循环记录下面为'整数'.我似乎无法让它工作,我不确定这是我的JavaScript还是我的计算逻辑.我尝试添加注释,以便您可以看到我认为我的程序当时正在做什么.如我错了请纠正我.
任何帮助将不胜感激.这是我的代码:
//integer is the value for which we are finding prime factors
var integer = 13195;
var primeArray = [];
//find divisors starting with 2
for (i = 2; i < integer/2; i++) {
if (integer % i == 0) {
//check if divisor is prime
for (var j = 2; j <= i / 2; j++) {
if (i % j == 0) {
isPrime = false;
} else {
isPrime = true;
}
}
//if divisor is …
Run Code Online (Sandbox Code Playgroud)