您的位置:首页 > 移动开发 > 微信开发

C# 趣味小程序(3)——以一定概率取数组中的数

2006-09-19 14:56 671 查看
 static void Main()
{   //为排序方便我使用了链表
    List<int> numbers =
        new List<int>(new int[]{ 34, 23, 353, 324, 32, 113, 44, 22 });
    numbers.Sort();//排序
    System.Random rd = new Random();
    for (int i = 0; i < 100; i++ )//循环取一百次,可以看出各个数字出现的频率
    {
        Console.Write("{0,5}"
            ,numbers[/*下标*/area(rd.Next(0, (numbers.Count - 1) * 2), numbers.Count)]);
    }
    Console.WriteLine();
    Console.ReadLine();
}
//获得链表的下标,0下标站整个随机数区域的一半,1站剩下的一半,2站1剩下的一半,以此类推。
public static int area(int rd, int length)//rd是随机数length是链表的大小
{
    if (rd > length) return 0;
    else
        for (int i = length / 2, index = 1; i >= 1; i /= 2, index++)
        {
            if (rd > i) return index;
        }
    return length - 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# numbers random