- 积分
- 14
- 注册时间
- 2009-5-7
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 ggggwhw 于 2010-2-22 22:55 编辑
给大家出一个简单的问题:
有两个不同的数列brr和crr,均由3000以内的整数随机排列而成,每次调换brr中的两个数字的位置,需要多少次可以将brr掉换成和crr完全相同的数列?
下面的代码用来生成原始数列brr和crr.- (*下面代码生成一个三千以内的整数通过随机排列而成的数列brr*)
- zongshu = 3000;
- SeedRandom[1];
- arr = Range[zongshu];
- brr = {};
- For[i = 1, i <= zongshu, i++,
- n = Random[Integer, Length[arr] - 1] + 1;
- AppendTo[brr, arr[[n]]];
- arr = Delete[arr, n];
- ];
- brr;
- (*下面代码生成一个三千以内的整数通过随机排列而成的数列crr*)
- SeedRandom[11];
- arr = Range[zongshu];
- crr = {};
- For[i = 1, i <= zongshu, i++,
- n = Random[Integer, Length[arr] - 1] + 1;
- AppendTo[crr, arr[[n]]];
- arr = Delete[arr, n];
- ];
- crr;
- (*每一次可以掉换数列brr中的任意两个数字的位置,那么至少需要调换多少次才能使得brr与crr完全相同?*)
复制代码 |
|