關于計算機自主隨機字符串的抽取
了解我的人,都知道,我是一個十分喜歡看電影的人,有的時候甚至一天看八部電影。但是這種到網頁查找電影,找到自己喜歡的電影讓后去看。這樣的過程我認為日子長了,未免太沒有意思。因此我有了一個新奇的想法:我將部分電影名全部放到計算機里,讓計算機給我決定我應當看哪部電影。
這個想法非常的新奇,因為突出點在于,并不是由我決定我因該看什么電影,而是由計算機決定。這增加了選擇電影名稱的有趣度,但也增加了是按這種情況的難度。
顯而易見,我的目的是讓計算機隨機抽取電影名,而不是為我推薦。這樣的話,有了目的,我們需要的`材料以及必備的元素就已經有了,在目的里面說到關鍵詞“計算機”“隨機”“電影名”。不過好說的是,“電影名”這個東西并不難搞,百度一搜一大把,這是很好辦到的事情,因此這個最先解決(誰叫他最簡單)。讓后就是解決“計算機”“隨機”這兩個東西了。非常明顯的是,最簡單的我們一眼就可以看出“計算機”,這就是我們需要的材料之一,只要有了它,才能完成我們的這次目的。我們準備好計算機,就要考慮下一個元素“隨機”。
不得不說“隨機”,在我們人腦這里是一種方法,我們十分明白,隨機就是從一堆東西中無規律的找出一個東西。然而,我們這種想法在計算機中也有一個獨特的名字稱號,他就是廣為人知的“算法”。在當今計算機社會,對于程序的編寫有了非常大的進步,我們這里使用C++,因為我熟悉,我拿手,就是這么任性。
我們要養成不應當重復造輪子的好喜歡,因此,我們的前輩已經幫我們解決了“隨機”這個問題,一個有趣的C++函數rand(),這既是我們要完成整個程序的重要函數,了解了這個函數就幫我們解決了問題。在這里,我們先不討論這個函數里面到底是怎么運行的,要討論這東西可大有學問。
那么我們就來寫一個十分簡單的程序:
#include
#include
#include
#include
using namespace std;
int main()
{
int a,b,c,d;//這里我們假設有四部電影
int e;//這里留著儲備隨即結果
e=rand(a,b,c,d);
cout 《 e;
return 0;
}
完成
既然我們的代碼寫完了,因為這是一個簡單的代碼,所以,可以找編譯器測試一下。
那么也會會問,什么叫做隨機,有隨機這個數嗎?
當然有,在大自然中,假設我們手中有一張硬紙,正面寫著1,反面寫著2,我們掏入空中,那么到底是正面還是反面呢?我們不知道,但我們知道這只是概率的問題,因此,隨機這個名詞,是統計學的一個名詞。那么人能否給出一個真隨機數呢?很抱歉,這是不可能的,因為人的大腦、心理決定了自身對于哪個數字的偏向。我們來思考極端一點的,假設你被別人盯上了,他在你的汽車中安置了一枚炸彈,連接著你的手機,你按了2這個按鈕,你的汽車爆炸了,嚇到了你,因此,你的潛意識會著重刻畫這個事件以及里面的“2”。所以,人并不可能給一個隨機的數字,因此才會有了民主投票選舉法等等方式,人在力求公平。當然,人也可以間接的給出一個隨機數,比如本自然段的開頭。
那么,計算機是否可以給出一個隨機數呢?抱歉,也是不現實的。那么為什么,眾所周知,計算機是一個邏輯機器,凡事都要依靠數學邏輯。因此我們動一動腳趾頭就可以想出來。那么為什么還要在上文中稱之為隨機?不是沒有隨機嗎?其實計算機關于隨機的問題,在計算機之父“馮·諾伊曼”就已經意識到這個問題,他意識到這個單靠數學邏輯運算的龐然大物,并不能直接產生隨機數,但他可以間接,比如我們上文說到的rand()函數,他是依靠數學公式遞歸出來的:Ni+1=(A* Ni + B)% M這是簡化后的公式。人們發現,計算機可以間接的通過公式、二項式等等產生出來,也可以借助外部條件,比如無線的事實頻率、CPU的實時頻率、晶管分子震動次數等等,也可能夠隨時影響著計算機的隨機數。但這些方法產生的數字,并不是純粹的隨機數,因此我們計算機科學管它叫做“偽隨機數”。
【關于計算機自主隨機字符串的抽取】相關文章:
隨機應變的歷史典故11-21
有趣的隨機數命令說課稿11-04
隨機應變造句11-27
公德心隨機作文11-04
隨機應變褒義詞10-04
關于培養學生的自主學習能力10-11
用成語隨機應變如何造句12-09
《隨機事件》教學反思(通用5篇)12-23
隨機應變造句4篇11-27
關于自主招生的自薦信范文01-29