INT()表示将数字向下舍入到最接近的整数,即取不大于自变量的最大整数。
例如:int[4.6]=4
int(-4.6)=-5。
希望对你有帮助
从右往左开始算,即对于x-=x*x 中x=x-x*x 有x开始被附值为5,所以x=5-5*5=-20, 第二步,算x+=x,即x=x+x=-20+(-20)=-40,就这样啦!
随机数=int((40-35+1)*rnd+35)。
楼上那个正解, “随机数” 这个变量直接放在调用的位置就可直接用了。
int(rnd*40)是0到40的随机整数。
int(rnd*50)是0到50的随机整数。
int(rnd*11+40)是40是到50的随机整数。
给你一个简单的公式
例如:N到M的随机整数 int(rnd*(M-N+1)+40) 那么N=40 M=50的话把数字套进公式里int(rnd*(50-40+1)+40) --->> int(rnd*11+40)。
好像两个答案都不对吧!
rnd: [0,1)
rnd*(-7): (-7,0]。
rnd*(-7)+4: (-3,4]。
int(rnd*(-7)+4)* : [-3,4]之间的整数,但取值为4的概率极小,仅当rnd取0时才会出现,理论概率为1/8388608 。
rnd*5: [0,5)
rnd*5-10: [-10,-5)。
int(rnd*5-10):[-10,-6]之间的整数。
int(rnd*(-7)+4)*int(rnd*5-10):所以理论上,[-40,30]之间的部分整数。
注:(-3)*(-10)=30是最大数啊,为什么两个答案都是18?
但实际上rnd函数并非一个真正的随机数字,而是一个周期为8388608(即2^23)的序列,当第一个rnd取值为0,第二个rnd必然取值为0.7641413,此时表达式的值为-28。
实际的取值范围是:-30、-28*、-27、-24、-21、-20、-18*、-16、-14、-12、-10、-9、-8、-7、-6、0*、6、7、8、9、10、12、14、16、18*、20、21、24、27、30。
其中:
-28:出现的概率极低,约为1/8388608 。
-18、18:出现的概率约为2/35。
0:出现的概率约为1/7
其余未标注数字:出现的概率约为1/35。
附:实测数据:进行50331648次测试,以上各值出现的次数:
a(-30) =1438024 。
a(-28) =4
a(-27) =1438034 。
a(-24) =1438088 。
a(-21) =1438072 。
a(-20) =1438088 。
a(-18) =2876062 。
a(-16) =1438030 。
a(-14) =1438020 。
a(-12) =1438052 。
a(-10) =1438030 。
a(-9) =1438022 。
a(-8) =1438056 。
a(-7) =1438072 。
a(-6) =1438054 。
a(0) =7190236 。
a(6) =1438078 。
a(7) =1438076 。
a(8) =1438020 。
a(9) =1438026 。
a(10) =1438034 。
a(12) =1438024 。
a(14) =1438032 。
a(16) =1438072 。
a(18) =2876162 。
a(20) =1438020 。
a(21) =1438038 。
a(24) =1438014 。
a(27) =1438028 。
a(30) =1438080