Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Tạo ra chuỗi ký tự random gồm cả chữ và số.

  1. #1
    Ngày gia nhập
    09 2014
    Bài viết
    0

    Mặc định Tạo ra chuỗi ký tự random gồm cả chữ và số.

    string strString = "abcdefghijklmnopqrstuvwxyz0123456789";
    Random random = new Random();
    int randomCharIndex = 0;
    char randomChar;
    string actcode = "";
    for (int i = 0; i < 15; i++)
    {
    randomCharIndex = random.Next(0, strString.Length);
    randomChar = strString[randomCharIndex];
    actcode += Convert.ToString(randomChar);
    }

    Các cao thử cho em hỏi chút.
    Em có 1 hàm tạo ra 1 chuỗi 15 ký tự như trên. Sử dụng cú pháp "random" như vậy thì sác xuất trùng "actcode" là bao nhiêu?. Có bao giờ trùng không? Sinh ra bao nhiêu "actcode" thì bị trùng 1 lần?
    Mong mọi người giải đáp với. Em cám ơn.

  2. #2
    Ngày gia nhập
    11 2013
    Nơi ở
    TP HCM
    Bài viết
    341

    Trích dẫn Nguyên bản được gửi bởi phamhoangduong05 Xem bài viết
    string strString = "abcdefghijklmnopqrstuvwxyz0123456789";
    Random random = new Random();
    int randomCharIndex = 0;
    char randomChar;
    string actcode = "";
    for (int i = 0; i < 15; i++)
    {
    randomCharIndex = random.Next(0, strString.Length);
    randomChar = strString[randomCharIndex];
    actcode += Convert.ToString(randomChar);
    }

    Các cao thử cho em hỏi chút.
    Em có 1 hàm tạo ra 1 chuỗi 15 ký tự như trên. Sử dụng cú pháp "random" như vậy thì sác xuất trùng "actcode" là bao nhiêu?. Có bao giờ trùng không? Sinh ra bao nhiêu "actcode" thì bị trùng 1 lần?
    Mong mọi người giải đáp với. Em cám ơn.
    ------------------------------------------------------------------------

    Visual C# Code:
    1. string RanText()
    2. {
    3.     Random random = new Random();
    4.     int randomCharIndex = 0;
    5.     char randomChar;
    6.     string actcode = "";
    7.     for (int i = 0; i < 15; i++)
    8.     {
    9.        randomCharIndex = random.Next(0, strString.Length);
    10.        randomChar = strString[randomCharIndex];
    11.        actcode += Convert.ToString(randomChar);
    12.     }
    13.     return actcode;
    14. }
    15.  
    16. void Test()
    17. {
    18.     Ditionary<string, string> list = new Ditionary<string, string>();
    19.     double index=0;
    20.     double maxTest = 20000000;
    21.     List<double> errorList = new List<double>();
    22.     while (true)
    23.     {
    24.         try
    25.         {
    26.             if (index >=maxTest) break;
    27.             list.Add(RanText(), "");
    28.             index++;
    29.         }
    30.         catch{
    31.             errorList.Add(index);
    32.             index++;
    33.         }
    34.     }
    35. }

    * Test thử với 20triệu lần add thì nó trùng bao nhiêu lần và các lần trùng xuất hiện ở vị trí index nào?

  3. #3
    Ngày gia nhập
    11 2014
    Bài viết
    7

    Mình đã thử với hàm random().
    Kết quả biên độ random càng cao thì mức độ trùng càng thấp và ngược lại.

  4. #4
    Ngày gia nhập
    10 2013
    Nơi ở
    Trên nóc nhà
    Bài viết
    132

    Mục đích của bạn tạo ra chuỗi random để làm gì vậy?

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn