第一貼就水一發吧 (逃
眾所周知,隨機數是個好東西,掌握了隨機數可以幫助我們掌握卡池原理從而使抽到ssr的概率變高(並不會。
實際上,在大部分網遊中的隨機**都是很複雜的,不會讓你這麼簡單就抽到ssr。但最核心的部分與我們今天要講的rand()函式還是有關聯的。
在c中,要呼叫rand()首先要呼叫stdlib.h標頭檔案。
rand()函式的作用是根據隨機數種子生成乙個具有週期性但週期非常非常長的隨機數表,藉此表來返回乙個整形隨機數值,其範圍在0~32767。
所謂種子...玩過某些沙盒遊戲的應該都知道在地圖生成時會有乙個對應的種子,只要種子確定,地圖就是確定的。隨機數表也是一樣。
而種子,是需要我們手動輸入的。
我們需要呼叫乙個函式srand(/*種子*/)來獲取乙個隨機數表,當在程式中呼叫rand()函式前沒有呼叫srand()時,會自動呼叫srand(1)。
為了獲取種子,我們一般使用time()函式來獲取乙個時間段,其為從2023年1月1日0時至現在經過的秒數,它的型別是time_t,我們可以把它重定義為unsigned long long。
所以在程式中的**一般是這樣的:
1 srand((unsigned long
long
)time(null));
2 cout<
那麼怎麼自定義隨機數的取值範圍呢?
很簡單,比如你想取0~100的隨機數,你可以寫成rand()%101。
想取50~100,可以寫成rand()%51+50。
利用這個東西,我們就可以做一些有意思的東西辣~
演算法 怒刷5大經典排序演算法之後,看看我發現了什麼
選擇排序 selectionsort 插入排序 insertionsort 歸併排序 mergesort 快速排序 quicksort 總結掌握常見的排序演算法能夠讓我們更好的理解迴圈不變數,還有減而知之,分而治之的思想,更好的寫出遞迴 當我們需要對資料進行二次或以上排序時,穩定性這個特性才會有意義...
發現了,為何RuntimeError。。。
sgu 125 讓我快要崩潰,寫了乙個很糾結的搜尋 搜的是給個方格間的大小關係,最後拓撲排序 每次交上去都runtime error on test 1,憤怒了,寫了乙個取資料的程式,如下 發現第乙個資料就是樣例,但在我的機器上執行地好好的。估計是windows的原因,在虛擬機器裡面用gcc 3.4...
發現了climits和STL的fill n ,哈
看別人 突然發現還有climits limits.h 這麼個頭檔案,以後初始化最大值最小值什麼的就方便多啦 我執行下了那個程式。同樣是那個人的 我不知道那是誰。還發現fill n 可以將值拷貝給first first n個元素 fill n 原型 template class forwarditer...