【发布时间】:2012-06-19 12:38:04
【问题描述】:
randIntNoRep( 命令已针对 OS 2.53MP 及更高版本上的 TI-84+/SE 计算器发布。
当您需要以随机顺序创建不重复整数的数字列表时使用该命令。它对于改组任何数字的序列非常有用。如何在早期版本(操作系统或设备)上实现此功能?
【问题讨论】:
randIntNoRep( 命令已针对 OS 2.53MP 及更高版本上的 TI-84+/SE 计算器发布。
当您需要以随机顺序创建不重复整数的数字列表时使用该命令。它对于改组任何数字的序列非常有用。如何在早期版本(操作系统或设备)上实现此功能?
【问题讨论】:
这可以通过创建一个随机数列表来实现,并使用它对您想要随机化的数字的第二个列表进行排序。
例如,使用randIntNoRep( 可以轻松地随机化一副 52 张牌并将其保存为列表:
:randIntNoRep(0,51→L₁
这可以使用以下代码进行模拟:
:rand(52→L₂
:seq(X,X,0,51→L₁
:SortA(L₂,L₁
L₂ 设置为包含一组 52 个随机值。 L₁ 设置为包含将随机化的数字。通过对列表进行升序排序,可以实现与使用randIntNoRep(相同的方法。
【讨论】:
randIntNoRep函数,可以通过上面的函数进行复现,或者用`randSamp(seq(x,x,1,52),52)',这只是上述的简化版本。
你可以通过交换元素来随机化一个列表,就像这样。
:For(F,1,dim(L1))
: iPart(dim(L1)rand+1)->R
: L1(R)->T
: L1(F)->L1(R)
: T->L1(F)
:End
这个随机化 L1,假设 L1 有你想要的所有元素。
【讨论】: