文件名称:随机全排列生成程序及其应用开发(有程序代码)
文件大小:37KB
文件格式:DOC
更新时间:2014-05-29 10:39:59
随机全排列 生成程序及其应用开发 随机文件读取 随机函数产生
编制生成 0~n(n≤255)的一个全排列的程序,可选择下列两个方法之一或自行设计另外方法: 方法 1:从一个随机文件读取 n+1 字节数据 d0,d1,¡ ,dn。由预先取定的一个 0~n 的全排列 P(比如,可为 0~n 的自然排列)开始,依次对 i=n,n-1,¡ ,1,计算:j=di-1+di(mod i)交换 P 的第 i 项第 j 项(在此注意我们假定 P 从第 0 项开始)。 方法 2:用一个随机函数产生 m(m>n)字节数据 d1,d2,¡ ,dm。对d1(mod(n+1)), d2(mod(n+1)) ,dm(mod(n+1))依次考察,把后面出现的与前相同者去掉;在最后剩下的数据中,把没有出现的 0~n 依序补写于后面。