iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
自我挑戰組

cpe30天練習系列 第 20

cpe練習day20

  • 分享至 

  • xImage
  •  

今天是練習cpe的What is the Probability題目

程式碼

#include <bits/stdc++.h>
using namespace std;

int main()
{
	int S,N,i;
	double p;
	cin >> S;
	while(S--)
	{
		cin >> N >> p >> i;
		if(p == 0)
		{
			cout << 0.000 <<endl;
			continue;
		}
		double first = pow(1.0 - p, i-1)*p;
		double fall = pow(1.0 - p, N);
		cout << fixed << setprecision(4) << first / (1.0 - fall) << endl ;
	} 
   return 0;
}

解題方向

  • double first = pow(1.0 - p, i-1) * p; -> 計算「第一次輪到i玩家」時他獲勝的機率
  • double fall = pow(1.0 - p, N); -> 如果第1~N個人都失敗的機率
  • first / (1.0 - fall) -> 這是一個無限等比級數的公式

上一篇
cpe練習day19
下一篇
cpe練習day21
系列文
cpe30天練習22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言