int getOneWithp(); // p概率生成1 int getZeriWith1_p(); //1-p概率生成0 int getZeroAndOne(){ while(1){ int i = getOneWithp(); int j = getZeriWith1_p(); if(i == 1 && j == 0){ //p概率生成1,1-p概率生成0,这种情况概率为p*(1-p) return 1; } if(i != 1 && j != 0){ //1-p概率不生成1,p概率不生成0,这种情况概率为(1-p)*p return 0; } } }