看看这道题目

yanlong521521 2010-10-19 04:13:24
随机产生20组数 如: A1,A2,A3···为0~9的机会相等),用编程实现。
1、随机生成20组数(无重复的组(12345)和(54321)视为重复组)
2、将这20组数字按能组成最大值顺序组成五位数并排序(增序)取前五个。
3、随机产生20组数(可以有重复组,但每组不能有五复数字)
4、将第三步的这20组数字按能组成最小值顺序组成五位数并排序(降序)取前5个数(不能重复数)
...全文
309 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanlong521521 2010-12-21
  • 打赏
  • 举报
回复
ths...
potatoice123 2010-12-03
  • 打赏
  • 举报
回复
不会~~
zhoujk 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用楼主 yanlong521521 的回复:]
随机产生20组数 如: A1,A2,A3···为0~9的机会相等),用编程实现。
1、随机生成20组数(无重复的组(12345)和(54321)视为重复组)
2、将这20组数字按能组成最大值顺序组成五位数并排序(增序)取前五个。
3、随机产生20组数(可以有重复组,但每组不能有五复数字)
4、将第三步的这20组数字按能组成最小值顺序组成五位数并排序(降序)取前 5 个数(不能重复数)
[/Quote]
1.
1.1 假设是5位数,先生成一个有序数组,从 0 - 99999;
1.2 对每个数进行如下操作:拆分每位的值,形成 5 个数值。其中不足的位不能用 0 来替代。然后做为一个数组来排序。
1.3 将这个数组按每个元素再组合成一个数。放回原数组。
1.4 原数组排序。
1.5 将相邻且重复的数合并成一个元素。
1.6 生成一个 5 位随机数,然后按位拆分后,排序。在原数组中进行二分查找,找到这个数。如果这个数的下标为 1,则放弃,否则将该随机数写入结果。
2.
2.1 接每位排序,然后再全数组排序,提取前五个。
3
3.1 在 1.6 后另加一段代码,如果5位相同则去掉,否则继续。
4. 2 的方法中,排序的方法取反,很简单的。
关键是要用正确的数据结构,哈希表应该不错。
peng2739956 2010-10-26
  • 打赏
  • 举报
回复


int n = Convert.ToInt32(Console.ReadLine());
int i, j, k;
for (i = n; i >= 1; i--)
for (j = n; j >= 1; j--)
for (k = n; k >= 1; k--)
if ((i != j) && (i != k) && (j != k) && (i > j) && (j > k))
Console.WriteLine("{0},{1},{2}", i, j, k);
Console.ReadLine();
peng2739956 2010-10-26
  • 打赏
  • 举报
回复
用穷举法 在加上 Arrylist 排序 就OK了











zhuxi89 2010-10-24
  • 打赏
  • 举报
回复
顶。。。。。。。
Rain_Franklin 2010-10-24
  • 打赏
  • 举报
回复
很正点的题呀~
yanlong521521 2010-10-24
  • 打赏
  • 举报
回复
面试题目,请教高手
peng2739956 2010-10-20
  • 打赏
  • 举报
回复
坐等高手
peng2739956 2010-10-20
  • 打赏
  • 举报
回复
什么题目?random?排序?
Big富 2010-10-19
  • 打赏
  • 举报
回复
少见.....
yanlong521521 2010-10-19
  • 打赏
  • 举报
回复
再顶。。。。。。
yanlong521521 2010-10-19
  • 打赏
  • 举报
回复
顶。。。。。。。
Olive_Guo 2010-10-19
  • 打赏
  • 举报
回复
做了下,没弄出来,等待高手来……
yanlong521521 2010-10-19
  • 打赏
  • 举报
回复
少见的面试题呢

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧