51nod 硬幣遊戲

2021-07-23 07:34:36 字數 2032 閱讀 7904

有乙個簡單但是很有趣的遊戲。在這個遊戲中有乙個硬幣還有一張桌子,這張桌子上有很多平行線(如下圖所示)。兩條相鄰平行線之間的距離是1,硬幣的半徑是r,然後我們來拋硬幣到桌子上,拋下之後硬幣有時候會和一些直線相交(相切的情況也算是相交),有時候不會。

請你來計算一下拋一次硬幣之後,該硬幣和直線相交數目的期望。

input

第一行給出乙個整數t,表示有t組資料(1

<=t

<=10000)。

第2行到t+1,每行給出乙個整數r。(0

< r <= 10,000,000,000)

output

對於每乙個資料,在一行中輸出答案的整數部分即可。

input示例11

output示例

求期望:ex=x1p1+x2p2+x3p3+…+xnpn

這裡有兩種情況:求與兩條線相切,線段數目是n+1

不想切的線段數目是n.

相切的概率是p(切)=(2

*r-n),e(切)=(2

*r-n)*(n+1)

不想切的概率是是(0,n-2

*r+1),無線趨近於1,p(不切)=(n-2

*r+1),e(不切)=(n-2

*r+1)*n

e(總)=e(切)+e(不切)=(n-2

*r+1)*n+(n-2

*r)*(n+1) = 2

*r也可以理解為:無數次拋,相切的概率無線趨近於1,不想切的概率為0.

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define fir first

#define sec second

#define fin freopen("/home/ostreambaba/文件/input.txt", "r", stdin)

#define fout freopen("/home/ostreambaba/文件/output.txt", "w", stdout)

#define mes(x, m) memset(x, m, sizeof(x))

#define pii pair

#define pll pair

#define inf 1e9+7

#define pi 4.0*atan(1.0)

#define mod 1000000007

#define lowbit(x) (x&(-x))

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

#define ls rt<<1

#define rs rt<<1|1

typedef

long

long ll;

typedef

unsigned

long

long ull;

const

double eps = 1e-12;

const

int maxn = 4;

using

namespace

std;

inline

int read()

while (ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();

return x*f;

}int main()

return

0;}

51nod 1381 硬幣遊戲

基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 有乙個簡單但是很有趣的遊戲。在這個遊戲中有乙個硬幣還有一張桌子,這張桌子上有很多平行線 如下圖所示 兩條相鄰平行線之間的距離是1,硬幣的半徑是r,然後我們來拋硬幣到桌子上,拋下之後硬幣有時候會和一些直線相交 相切的情況...

51nod 1381 硬幣遊戲

1381 硬幣遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏關注有乙個簡單但是很有趣的遊戲。在這個遊戲中有乙個硬幣還有一張桌子,這張桌子上有很多平行線 如下圖所示 兩條相鄰平行線之間的距離是1,硬幣的半徑是r,然後我們來拋硬幣到桌子上,拋下之後硬幣有時候...

51nod1381 硬幣遊戲

1381 硬幣遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 收藏關注有乙個簡單但是很有趣的遊戲。在這個遊戲中有乙個硬幣還有一張桌子,這張桌子上有很多平行線 如下圖所示 兩條相鄰平行線之間的距離是1,硬幣的半徑是r,然後我們來拋硬幣到桌子上,拋下之後硬幣有時候...