2012-01-04 64 views
1

如果我在[0,1)中有一個均勻分佈的隨機變量,該如何修改它(僅使用算術表達式)s.t.它的概率是1/2,概率是1/2的概率是1?均勻分佈[0,1)轉換爲{-1,1}

+0

爲什麼你約束自己不必要的,只用算術表達式? – 2012-01-04 19:22:07

+0

這是功課還是面試問題? – JJJ 2012-01-04 19:32:42

+0

因爲我覺得我可以在3年前很容易地解決這個問題:-) – user695652 2012-01-04 19:32:45

回答

1

如果地板(或轉換到低於X最接近的整數)是OK:

floor(x*2)*2-1 

由於四捨五入爲最接近的整數:

round(x*2-0.5)*2-1 
+0

是的第一個很好:(int)(2 * Math.random())* 2-1 – user695652 2012-01-05 19:28:38

0

如果隨機變量的值小於0.5,它映射到-1,否則映射到1

編輯:如果您允許使用絕對值,你可以做(​​X - 0.5)/ ABS(X - 0.5)。

+0

謝謝,但我的意思是隻使用算術運算 – user695652 2012-01-04 19:00:57

+0

哦, +','-','*'和'/'? – BenH 2012-01-04 19:01:55

+0

你可以使用整數除法(例如1/3 = 0)嗎? – BenH 2012-01-04 19:02:37