• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 183,  comments - 10,  trackbacks - 0

            按一定概率打印數(shù),不是隨機數(shù)

            打印的數(shù)是隨機生成的,但是總體上看,不同的隨機數(shù)打印出來的次數(shù)要不同。
            打印 1000 個隨機數(shù),隨機數(shù)的范圍是 0-100,這 1000 個隨機數(shù)根據(jù)其大小出現(xiàn)次數(shù)的比例不同,1 出現(xiàn)的比例最小,100 出現(xiàn)的比率最大。

            需要注意的東西
            隨機數(shù)的范圍 m
            隨機參數(shù)的依據(jù),這里的依據(jù)是根據(jù)隨機數(shù)的大小確定的,即使函數(shù)中的 t
            產(chǎn)生的隨機數(shù)的個數(shù) n
            保存的結(jié)果 a ,a 中保存的其實不是 rand 產(chǎn)生的數(shù),而是根據(jù) rand 產(chǎn)生的數(shù)進而確定的 t 的下標(biāo)
            統(tǒng)計結(jié)果的 s
            這里用到了 rand 函數(shù),a 中保存的不是直接取自 rand ,而是根據(jù) rand 產(chǎn)生的數(shù)間接得到的 t 的那個下標(biāo),因為題目就是要求根據(jù)不同的概率打印出數(shù),這個數(shù)其實不是隨機數(shù)了。

            實現(xiàn):

             1 #include <iostream>
             2 #include <string>
             3 #include <ctime>
             4 #include <cstdlib>
             5 #include <cstring>
             6 using namespace std;
             7 
             8 // 結(jié)果存于 a 中,產(chǎn)生 n 個結(jié)果
             9 // 范圍是從 1 - m
            10 int foo(int a[], int s[], int n, int m)
            11 {
            12     int* t = new int [m];
            13     t[0= 1;
            14     for (int i = 1; i < m; ++i)
            15     {
            16         t[i] = t[i - 1+ i + 1;
            17     }
            18     int MAX = (1 + m) * m / 2;
            19     
            20     // cout << t[m - 1] << endl;
            21     // cout << MAX << endl;
            22     
            23     srand(time(0));
            24     int e = 0;
            25     int r = 0;
            26     for (int i = 0; i < n; ++i)
            27     {
            28         r = (rand() % MAX) + 1;
            29         //cout << "r: " << r << endl;
            30         for (int j = m - 1; j >= 0--j)
            31         {
            32             if (r > t[j])
            33             {
            34                 a[e++= j + 1 + 1;
            35                 break;
            36             }
            37             else if (r == t[j])
            38             {
            39                 a[e++= j + 1;
            40                 break;
            41             }
            42         }
            43         /*
            44         for (int j = 0; j < m; ++j)
            45         {
            46             if (r <= t[j])
            47             {
            48                 //cout << j + 1 << endl;
            49                 a[e++] = j + 1;
            50                 break;
            51             }
            52         }
            53         */
            54     }
            55     
            56     memset(s, 0sizeof (*s) * m);
            57     for (int i = 0; i != n; ++i)
            58     {
            59         ++s[a[i] - 1];
            60     }
            61 }
            62 
            63 int main()
            64 {
            65     int n = 0, m = 0;
            66     int* a, * s;
            67     while (cin >> n >> m)
            68     {
            69         a = new int [n];
            70         s = new int [m];
            71         foo(a, s, n, m);
            72         
            73         for (int i = 0; i < n; ++i)
            74         {
            75             cout << a[i] << ' ';
            76         }
            77         cout << endl;
            78         
            79         for (int i = 0; i != m; ++i)
            80         {
            81             cout << i + 1 << "" << s[i] << endl;
            82         }
            83     }
            84     return 0;
            85 }


            posted on 2011-07-19 14:20 unixfy 閱讀(188) 評論(0)  編輯 收藏 引用

            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            亚洲精品国产字幕久久不卡| 欧美久久一区二区三区| 日韩精品久久久肉伦网站 | 无码乱码观看精品久久| 久久综合伊人77777| 国产成人精品综合久久久| MM131亚洲国产美女久久| 91精品国产高清久久久久久91| 亚洲国产成人精品无码久久久久久综合| 日韩电影久久久被窝网| 久久99精品久久久久婷婷| 久久精品成人免费国产片小草| 亚洲综合伊人久久大杳蕉| 情人伊人久久综合亚洲| 久久精品国产久精国产果冻传媒| 久久成人国产精品二三区| 国产精品一区二区久久精品涩爱| 久久免费美女视频| 人妻精品久久久久中文字幕一冢本| 精品人妻伦九区久久AAA片69 | 久久久久亚洲爆乳少妇无| 久久夜色精品国产噜噜亚洲AV | 国产精品狼人久久久久影院| 伊人久久大香线蕉综合影院首页| 国产成人香蕉久久久久| 99久久精品国内| 亚洲国产精品久久电影欧美| 亚洲v国产v天堂a无码久久| 99久久99久久精品国产| 2022年国产精品久久久久| 欧美大香线蕉线伊人久久| 亚洲综合久久久| 一本大道久久东京热无码AV| 久久久久久久综合综合狠狠| 国产—久久香蕉国产线看观看 | 国产精品天天影视久久综合网| 亚洲成色www久久网站夜月| 久久久久亚洲AV成人网人人网站 | 久久精品人人做人人爽电影| 久久99久久99精品免视看动漫| 国产综合久久久久久鬼色|