全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
1855 2
2011-03-26
悬赏 3 个论坛币 未解决
随机产生1-20之间的100个数字,分成1-5,6-10,11-15,16-20四个区间的数,把所有数放在4个5*6的矩阵中,要求:每列中只存在某个区间的数,且大的数字放在小数上,未摆放前,矩阵所有元素为0,例如随机数列为7,5,4,9,6,2,10.从第一数7开始摆放,第二个数5摆放时,寻找比它小的数,且属于同一区间的,就放在上面,如果候选列很多,选与之数字最相近的列摆放(例如10可以放到第一列和第四列,10离9比离6较近)。否则放到下一列中(摆放5时,与7不属于同一区间,放到第二列中),按此规则进行摆放,直达某数找不到摆放位置,显示剩余数字和摆放结果图。
10
9
7 5 4 6 2
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-3-26 09:37:20
c#怎么在不同数字区间产生随机数
第二次产生2的话下一次选随机数就1到10之间不包含2和5 以此类推,直到...//然后取这个被随机打乱的数组中的第一位或最后一位,把剩下的做成下一个...vb猜数字游戏代码随机产生四个数然后随便用加减乘除得出结果为24
5.00 Begin VB.Form frmMain Border...A = NumberD Case 11 B = NumberA...D = NumberD Case 16 C = NumberA...C = NumberD Case 20 D = NumberA...用VB做一个猜数字游戏 随机产生四个数然后用这四个数随便用加...
可以先调用函数取得0-1000的随机数,然后单取百位也好,单取个位也好,得到4个个位数。如果你需要2位数,就取后两位好了。 然后就是用各种算法对他们进行...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-3-26 09:40:44
可以通过数组储存目标数字,随机打乱数组来抽取

int[] all = new int[] { 1,2,4,7,8,9 };

for (int h = 0, j = 0, k = 0; h < ra.Length; h++)
            {
                System.Random rand = new Random(DateTime.Now.Millisecond);
                j = rand.Next(h, all.Length);
                k = all[j];
                all[j] = all[h];
                all[h] = k;
            }
//然后取这个被随机打乱的数组中的第一位或最后一位,把剩下的做成下一个数组,继续打乱,继续选取即可
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群