java代碼:
public class RandomOneOrZero { public static int get() { int a = 0; int b = 0; while (a == b) { a = getBase(); b = getBase(); } return a; } //這個函數是模擬的,每次運行的時候p的值是固定的但是假設對外是不可知的 private static int getBase() { double p = 0.1;// 這裏的p值每次運行的時候可以隨意設置爲0到1之間的數字 double ref = Math.random(); if (ref > p) return 1; return 0; } }
算法的期望運行時間需要p值來確定