我是自学3个月的菜鸟,写了一个算法,效率极低(因为要判断是不是重复号码,所以经常会点好几下才会出来一组号码) Random R=new Random();
int r1 = R.Next(1,33);
int r2 = R.Next(1, 33);
int r3 = R.Next(1, 33);
int r4 = R.Next(1, 33);
int r5 = R.Next(1, 33);
int r6 = R.Next(1, 33);
if (r1 != r2 && r1 != r3 && r1 != r4 && r1 != r5 && r1 != r6 && r2 != r3 && r2 != r4 && r2 != r5 && r2 != r6 && r3 != r4 && r3 != r5 && r6 != r3 && r4 != r5 && r4 != r6 && r5 != r6)
{
Label1.Text = r1 + " " + r2 + " " + r3 + " " + r4 + " " + r5 + " " + r6;
}
int r1 = R.Next(1,33);
int r2 = R.Next(1, 33);
int r3 = R.Next(1, 33);
int r4 = R.Next(1, 33);
int r5 = R.Next(1, 33);
int r6 = R.Next(1, 33);
if (r1 != r2 && r1 != r3 && r1 != r4 && r1 != r5 && r1 != r6 && r2 != r3 && r2 != r4 && r2 != r5 && r2 != r6 && r3 != r4 && r3 != r5 && r6 != r3 && r4 != r5 && r4 != r6 && r5 != r6)
{
Label1.Text = r1 + " " + r2 + " " + r3 + " " + r4 + " " + r5 + " " + r6;
}
解决方案 »
- FormView控件绑定的数据如何获取啊
- 如何点击按钮,在另一个frame中刷新或打开一个新页面
- CheckBoxList从数据库中取值的问题
- 关于显示文件,求助!!!!!!
- 获取对话框返回值
- 我买的书都是asp.net2.0的,现在我安的是vs.net2008,asp.net2.0的程序可以在2008上运行吗
- 为什么上传网站到空间后,验证控件都失效了?
- 我在把项目添加到源代码管理器的时候
- 在ASP.NET 中如何实现多条件复合查询 ? 也就是同时满足 多个DropList的中内容,然后再单击查询
- win2003下部署mvc4网站总是失败
- 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
- 如何用纯后台代码的方式控制Panel滚动条的位置?
declare @table table (id int,col uniqueidentifier)declare @i int ; set @i=0;
while @i<33
begin
insert into @table
select @i,newid()
set @i=@i+1
endselect top 6 id from @table order by col你可以按这个思路写,创建一个数据存上1到33,存每个数字的时候,创建一个guid,然后按guid排序取前6个。第二次的时候,再重新创建,重新排序。无须判读那个重复 创建的时候直接就是1-33。
declare @table table (id int,col uniqueidentifier)declare @i int ; set @i=1;
while @i<33
begin
insert into @table
select @i,newid()
set @i=@i+1
end
select top 6 id from @table order by col
/*
id
-----------
30
17
4
25
19
27
*/
List<int> list = new List<int>();
Random Ran = new Random();
for (int i = 0; i < 6; i++)
{
int r = Ran.Next(1, 33);
while (list.Contains(r))
{
r = Ran.Next(1, 33);
}
list.Add(r);
}
foreach (int r in list)
{
Label1.Text += r.ToString() + " ";
}
Random rand = new Random(Guid.NewGuid().GetHashCode());
for (int i = 0; i < 6; i++)
{
list.Add(rand .Next(1,33));
}
List<int> numbers = new List<int>();
for (int i = 1; i <= 33; i++)
numbers.Add(i);
Random rd = new Random();
for (int i = 0; i < 6; i++)
{
int index = rd.Next(numbers.Count);
Response.Write(numbers[index] + " ");
numbers.RemoveAt(index);
}