日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

不一样的随机数生成方法(C/C++)

發布時間:2025/4/16 c/c++ 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不一样的随机数生成方法(C/C++) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在網上查隨機數生成,大家基本都是大同小異的,而且還不是很方便(這個如果你只是想要生成一個隨機數什么的,那也無所謂,還能湊合著用那種方法)。

用C++寫的,但是C要用就把 ctime寫成time.h ,cstdlib寫成stdlib.h
C++的隨機數生成本質上是用C的庫實現的,你看庫名字就知道了…

但是不夠好的是,如果如果我要生成多個隨機數的時候,那么我就要設置一個種子,srand,一般呢,就是用時間去波動它。導致時序不同的地方生成一個的隨機數。
一般代碼如下:(熟手的話,很容易就打完下面的代碼了)

#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int RandNumber(int begin = 0, int end = 1) {return (rand()%(end-begin+1))+begin; } int main(){srand(time(0));for (int i = 0; i < 10; ++i){cout << RandNumber(1,5)<<endl;}return 0; }

但是仔細看的話,發現這樣其實是不夠好的
這個不夠好,是在代碼格式上的。
要是進行一個大的規模的的程序。你放一個種子在main函數或者其他什么函數中,這樣肯定是不好的嘛!(在邏輯上過不去,打碼久了就能很容易體會到這一點)
這樣封裝起來就不夠嚴密了嘛。
所以呢?好的解決方法是什么呢?
我想到了一個,就是構建一個類。
為什么要構建類呢?
對于每一個類,都可以在構造函數中構建一次隨機數種子。
這樣,由于一個隨機數種子會對應一個隨機數。再由于時間在波動,所以,就可以更新隨機數。
同樣可以增加代碼的重用。可以說是一個非常好的程序員思維。
舉個反例,一般對隨機數不太熟的人都會遇到生成的隨機數是相等的
典型錯誤就包括下面這種(下面代碼確保了重用但是…)

#include <iostream> #include <ctime> #include <cstdlib> using namespace std; int RandNumber(int begin = 0, int end = 1) {srand(time(0));return (rand()%(end-begin+1))+begin; } int main(){for (int i = 0; i < 10; ++i){cout << RandNumber(1,5)<<endl;}return 0; }

雖然你確實生成了一個隨機數,但是不得不說的是,你每次生成的隨機數都是一樣的…
像上面那個代碼運行的結果,每次都可能是1到5之間的任意的一個數,但輸出的這個10個數都是一樣的…對比第一代碼,可以看出srand的位置的不同(雖然長得有點像)

但是用類就沒有這方面的考慮了。

#include <iostream> #include <ctime> #include <cstdlib> using namespace std; class RandomNumber{ public:RandomNumber(){srand(time(0));}int get(int begin = 0, int end = 1){return rand()%(end-begin+1)+begin;} }; int main(){RandomNumber r,t;for (int i = 0; i < 10; ++i) {cout << r.get(1, 5)<<" "<< t.get(1, 5)<< endl;} }

為了確保自己設計沒有問題,我還特意寫了兩個變量來運行。
這樣說可以做了一個重用的隨機數了。
(而我這個代碼,就有點生成器的味道了(接觸過Python的朋友應該能感受到))
要是有小哥哥愿意做一個輸入流,這樣就可以做一個很酷的像int一樣的類,直接cout,可以說是非常酷了。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的不一样的随机数生成方法(C/C++)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色av电影网址 | 夜夜骑夜夜操 | 91视频免费观看网站 | 日本不卡网站 | 青青草视频 | 椎名由奈在线观看 | 国产精品免费视频一区二区 | 国产高清日韩 | 影视先锋av资源 | 午夜av成人| 精品理论片 | 又紧又大又爽精品一区二区 | av黄色在线| 成人午夜精品 | 中文字幕欧美激情 | 久久高清| 女裸全身无奶罩内裤内衣内裤 | 国产精品91久久久 | 日韩美女激情 | 国产日产欧美一区二区 | 喷水少妇| 午夜激情视频 | 性国产精品 | 无码人妻久久一区二区三区不卡 | 欧美污视频在线观看 | 久久久久亚洲av成人毛片韩 | 五月天婷婷丁香花 | 国产高清在线 | 一区二区三区免费 | 巨乳免费观看 | 一区二区三区高清在线 | 邵氏电影《金莲外传2》免费观看 | 青娱乐久久 | 亚洲图片在线视频 | 日批av| 麻豆综合网 | 国产无遮挡免费视频 | 老司机精品视频在线播放 | 91gao| 亚洲美女影院 | 国产超碰在线观看 | 91中文视频 | 六月婷婷在线观看 | 久久精品导航 | 国产片高清在线观看 | 少妇一晚三次一区二区三区 | 黑人巨大猛烈捣出白浆 | 色日本在线 | 亚洲第一av网 | 第一页综合 | 影音先锋波多野结衣 | 亚洲美免无码中文字幕在线 | 亚洲欧美激情在线观看 | 操比视频网站 | 久久综合国产精品 | 久久国产视频网站 | 婷婷影院在线观看 | 欧美日韩国内 | www.黄色小说.com | www.com亚洲| 成人在线视屏 | 日韩女优中文字幕 | 欧美成人黑人xx视频免费观看 | 99久久99久久精品国产片果冻 | 国产v亚洲 | 亚洲国产日韩一区二区 | 日本一区二区色 | 成年人在线观看网站 | 久久av影视| 国产精品无码一区 | 国产三级在线观看视频 | 亚洲一二三在线 | 久久av在线 | 国产精品久久久久9999 | 伊人一级片 | 亚洲美女黄色片 | 一区三区视频 | 爱爱免费小视频 | 蜜桃av色偷偷av老熟女 | 欧美日韩一区二区三 | 成人 黄 色 免费播放 | 精品在线观看免费 | 天天毛片 | 成 年 人 黄 色 大 片大 全 | 亚洲国产日韩在线一区 | 一级欧美在线 | 国产精品久久久久久久久久久新郎 | 黄色在线a | 国产视频污 | 毛片入口| 一区二区中文字幕在线观看 | 99国产精品人妻噜啊噜 | 色a在线 | 超在线视频 | 男人午夜av | 红桃视频黄色 | 97成人资源 | 日韩成人av网 | 黄色污污网站在线观看 |