题目:从1-1500中产生随机数
 要求:1-300的数占30%,
      300-700的数占50%
      700-1100的数占15%
      1100-1500的数占5%
   该怎么做啊   最好有程序,没有程序有算法或方法也可以,谢谢。急!!!!!!!

解决方案 »

  1.   

    以前在VB3里有做过,可惜现在没有安装VB3了,程序就看不到了。应该不难!
      

  2.   


        Dim i As Integer, n As Integer
        Dim l, u As Integer    Randomize
        i = Int(Rnd() * 100) + 1
        
        Select Case i
            Case 1 To 30
                l = 100: u = 300
            Case 31 To 80
                l = 301: u = 700
            Case 81 To 95
                l = 701: u = 1100
            Case 96 To 100
                l = 1101: u = 1500
        End Select
        n = Int((u - l + 1) * Rnd) + l
        Debug.Print n这样对不对?
      

  3.   

    拿一个文本框记录要生成的总数dim a(),b(),c(),d()for i = 0 to int(总数*0.15)
    a(i)=产生的1-300的随机数
    next i for i = 0 to int(总数/2)
    b(i)=产生的300-700的随机数
    next i for i =0 to int(总数*0.15)
    c(i)= 产生的700-1100之间的随机数
    next i for i = 0 to int(总数*0.05)
    d(i) = 1100-1500之间的随机数
    next i 数组a() b() c() d() 分别是你要求的数