一个整数仅有一种分解成2的幂之和的情况。。
有点绕呃~,其实就是一个十进制数只能表示成一个二进制形式。
换而言之,就是十进制数和二进制整数是一一对应的。
例如:43=(2^0)+(2^1)+(2^3)+(2^5)=1+2+8+32
大家会说了:这是明摆着的事实嘛!如果分解方法不唯一,难道在你用计算器作进制转换时,它还要报出多个解?
但这毕竟是一种感觉,有时候你也会想为什么不存在两种或以上的分解方法? (more…)
一个整数仅有一种分解成2的幂之和的情况。。
有点绕呃~,其实就是一个十进制数只能表示成一个二进制形式。
换而言之,就是十进制数和二进制整数是一一对应的。
例如:43=(2^0)+(2^1)+(2^3)+(2^5)=1+2+8+32
大家会说了:这是明摆着的事实嘛!如果分解方法不唯一,难道在你用计算器作进制转换时,它还要报出多个解?
但这毕竟是一种感觉,有时候你也会想为什么不存在两种或以上的分解方法? (more…)
突然想到一个很奇怪的问题:一个循环继续循环下去的概率总是1/2,那么有没有可能循环会无限循环下去。
yh牛说:“理论上有可能,但是几率极低。还有一个问题就是,纯随机数当然是这样,用一般编程语言里自带的伪随机数是不可以的。”
无限循环下去的几率是1/2^n(n为无限大),也就是0
于是一个诡异的事情又发生了:即使这个无限可能了,也会让人觉得会在之后有限时间内总会停下来
比如从0到1之间随机一个无限精确的实数,正好随机到0.5的概率和不是0.5的概率比的话也是这种感觉
也比如是一个点落在一个面上
于是我们知道了:“所有的从高维里选出低维都是这种感觉,然后0维分有限和无限,有限可以认为是小于无限的,0维和1维之间没有定义,就是连续统假设和选择公理的问题”
总之,如果是纯随机数,有可能发生,但现实中不会发生,因为现实一点~我们的时间是有限的。。。
也说不定能搞到比较没有联系的纯随机数,比如根据鼠标移动,时间等等,当然一般没人这么搞。
一旦这种可能发生了。。那。。。。我要去买彩票!!!!
这里给出程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | var i,j,z:integer; s:array[1..1024] of integer; begin randomize; for j:=1 to 10000 do begin z:=0; i:=0; while i mod 2=0 do begin inc(z); i:=random(10); end; inc(s[z]); end; for i:=1 to 100 do writeln(i,':',s[i]); end. |
运行结果:(每行表示在此退出的次数)

Studies,OI and Love