作者LPH66 (-858993460)
看板puzzle
标题[中译] ProjectEuler 323 Bitwise-OR operations on random integer
时间Mon Feb 7 17:15:59 2011
323. Bitwise-OR operations on random integers
http://projecteuler.net/index.php?section=problems&id=323
令 y0, y1, y2... 是随机的 32 位元无号整数。
(即 0 ≦ y_i < 2^32, 每个数字机会均等)
由此定义 x_i 这个序列:
* x0 = 0
* x_i = x_(i-1) | y_(i-1) (其中 | 是 bitwise-OR 运算子)
我们知道最终这个数列会到达 2^32 - 1 此数(即所有位元均为 1 的数),
亦即存在一个整数 N,使得对所有 i≧N 都有 x_i = 2^32 - 1。
求 N 的期望值,四舍五入到小数点後十位。
--
以下是给不懂什麽是 bitwise-OR 的人的说明:
例如 204 | 394 = 462:
...0000000011001100 (204)
| ...0000000110001010 (394)
-------------------------------
...0000000111001110 (462)
每一位二进位都由原来两数的同一位数决定,只要有一个是 1 答案的那一位就是 1
前面的 ... 是因为都是 0 所以省略了 XD
--
这题意料之外的单纯...只有文字吓人而已
--
"LPH" is for "Let Program Heal us"....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.254.23.234
※ 编辑: LPH66 来自: 122.254.23.234 (02/07 17:16)