最近发现一类算法,我称它们为无限随机算法,它们的特点是产生一个输出,这个输出有无限种可能。例如下面这个算法,它可以输出一个任意正整数n,产生n的可能为 1 2 n \frac{1}{2^n} 2n1。
import random
luckNum = 1
while True:
if random.random()< 0.5:
luckNum += 1
else:
break
print(luckNum)
java实现import java.util.Random;
public class LuckTest {public static void main(String[] args) {int luckNum = 1;
Random random = new Random();
while (true){if(random.nextDouble()<0.5){luckNum++;
}else {break;
}
}
System.out.println(luckNum);
}
}
无限随机算法的本质我们会发现无限随机算法的本质其实是概率+循环。
最后我用无限随机算法做了一个微信小程序“无限抽卡器”,大家可以体验一下。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧