輾轉相除法
一種數學上的求最大公約數的方法,在編程中同樣適用,
數學解釋:兩個整數的最大公約數等于其中較小的那個數和兩數相除余數的最大公約數,
太抽象了,舉例說明,
求24與18的最大公約數,
24 / 18 =1.........6;
將除數18換成被除數,將余數6換成除數:18 / 6 =3;
沒有余數,證明24與18的最大公約數為6,
運用在編程中:

猜數字的小游戲
在編碼之前想一下,編碼流程:
1.我們需要一個登錄頁面,.結束游戲的按鈕,重新開始的按鈕,
2.進入游戲后,系統要隨機分發一個數字,
3.游戲途中,如果猜錯了的提示,如猜大了,猜小了,猜對了,
之后逐一擊破,
1.
2.游戲函式:
游戲函式之前,我們先引進一個rand()的函式,

rand會隨機回傳一個數字,但是,需要用srand定義,
srand函式是什么?

說直白點,srand里的數,會在rand里面反應出來對應的數,加入srand(1),rand中會輸出一個對應的不變的數字,
那么怎么讓rand輸出一個隨機的數字,找一個每段時間都變化數字放在strand中,可以是時間,
在引進一個函式time()


引進個概念,時間戳,
時間戳是指格林威治時間自1970年1月1日(00:00:00 GMT)至當前時間的總秒數,
所以這樣srand中含有一個亂數,而sand也輸出一個亂數,這樣計算機亂數的輸入就成立了,
解釋下為什么要r=rand()%100+1;為了控制r的取值范圍在1到100之間,
那,rand的范圍是多少呢,需要一個指令RAND_MAX

那0x7fff又是多少呢?”0x“為十六位進制的表示,

所以rand()的范圍 時0到32767,太大了所以把它縮小到1到100,
最后,測驗:
成功,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/343100.html
標籤:其他
上一篇:夢開始的地方
