計算需要迴圈幾次,比如分頁或者資料庫遍歷時迴圈次數

2021-08-29 04:42:55 字數 755 閱讀 6737

一般想到的計算是,通過求餘 求模,沒有整除,迴圈次數就要 +1

int p = totalcount / pagesize;

if (totalcount % pagesize != 0)

p++;

return p;

int p = totalcount / pagesize;

if (totalcount % pagesize == 0)

return p;

else

return p + 1;

其他不需要判斷,直接一行計算, 例如 totalcount=23 pagesize=10 那麼應該是3頁,

// 如果totalcount是20,則totalcount - 1是19,(totalcount - 1) / pagesize是1,需要加1

// 其他情況當然是(totalcount - 1) / pagesize後有餘數,沒整除,需要加1

(totalcount - 1) / pagesize + 1;

// 餘數增長,肯定 餘數< pagesize,  如果給 totalcount 加 pagesize - 1,則如果totalcount有餘數,加後就會超過pagesize一次,totalcount可以被整除,沒有餘數,加後不影響整除

(totalcount + pagesize - 1) / pagesize;

有幾個消費者就需要傳送幾次結束訊號

code from multiprocessing import process,queue import time,random,os def consumer q while true res q.get if res is none break 收到結束訊號則結束 time.sleep ran...

迴圈結的計算

餘數檢測法 模擬除法,比如我們要計算1 7這個小數的迴圈節,求第一組的餘數r,不難得r 1 7 1,然後將r 10繼續取餘 r 1 10 7 3,每次求出一組餘數的資料,我們需要判斷一下 所求出的餘數之前有沒有出現過,只有餘數出現過,那就說明迴圈節出現了,餘數為0時,說明不迴圈 然後我們記錄迴圈節的...

耗時計算移出迴圈

迴圈常常是熱點所在。本節前面討論了很多針對迴圈的優化建議,這一小節仍然將迴圈作為研究物件,不過這次考慮的是迴圈體。因為迴圈體中的程式 會被執行多次,所以應當儘量減少其中的耗時計算。void function byte pixel,int width,int height 觀察上面函式的實現方法,因為...