某遊戲規則中,甲乙雙方每個回合的戰鬥總是有一方勝利,一方失敗。遊戲規定:失敗的一方要把自己的體力值
的1/4加給勝利的一方。例如:如果雙方體力值當前都是4,則經過一輪戰鬥後,雙方的體力值會變為:5,3。
現在已知:雙方開始時的體力值甲:1000,乙:2000。
假設戰鬥中,甲乙獲勝的概率都是50%
求解:雙方經過4個回合的戰鬥,體力值之差小於1000的理論概率。
以小數形式表示概率,保留到小數點後3位。
假如概率是50%,程式應該輸出0.500
#includeusing namespace std;
int main(){
double x=1000,y=2000;
int i,j,temp,count=0;
for(i=0;i<16;i++){//從0000遍歷到1111 即討論16種情況 這裡預設1為甲勝
x=1000,y=2000;
for(j=0;j<4;j++){
temp=1;
temp=temp《關於位運算:
(i&temp)==temp的意思:比如i=0010 則temp首先為0001 (i&temp) !=temp,因為第一次是乙獲勝,所以乙加分,接下來temp=0010 則(i&temp)==temp,因為第二次是甲獲勝,所以甲加分,接下來的0100和1000都是(i&temp) !=temp,所以都是乙加分。
模擬一部分過程:
i temp
0000(表示甲每次都輸) 0001 0010 0100 1000 這四種情況都是乙得分
0001(甲贏了第一回合) 0001 0010 0100 1000 這四種情況temp=0001時是甲得分
1110(甲贏了第二三四回合) 0001 0010 0100 1000這四種情況temp=0010,0100,1000時甲得分
1111(甲全贏) 0001 0010 0100 1000這四種情況下都是甲得分
本質就是16種情況都討論一遍
劇情體力值恢復
遊戲劇情接取任務時,以及領取獎勵時,涉及到體力值的加減 除此之外,體力值還有定時恢復,每十分鐘恢復一點 體力值走貨幣 重新整理跟貨幣重新整理一樣 倒計時顯示 十分鐘倒計時結束漲一點體力值 倒計時的計算 countdown 600 當前時間 上線時後端傳過來的開始計時的時間 600 每次漲體力值的時候...
面試OR筆試14 最小體力值
乙個戰棋類遊戲,角色只能向右和下兩個方向移動且移動需要消耗體力。遊戲地圖上被分為 m n個格仔,當角色移動到某個格仔上時,行動力就會加上格仔上的值 k 100 100 當行動力 0 時遊戲失敗。求從地圖左上角移動到地圖右下角至少需要多少起始行動力。玩家初始化到起始的左上角格仔時也需要行動體力 1 輸...
計算機 加減乘除原理 二進位制運算 PHP 位運算
位運算 加法實現 核心 逢二進一 param int a 被加數 param int b 加數 return int 和 function add int a,int b int if xor return add and 1,xor 位運算 減法實現 核心 加法逆運算 param int a 被減...