向上取整算法

今天在Coursera上看到一節(jié)關于向上取整的算法,自身覺得挺新奇的,自己也沒有想過類似的問題。因為在計算機中整數(shù)除法'/'表示的是向下取整的策略,但是日常生活中經(jīng)常也需要向上取整,比如話費的計算、內(nèi)存空間的分配問題,都是這樣。接下來讓我們看看向上取整的小技巧。

(A+B-1)/B

問題描述

有兩個整數(shù)A和B,A>1,B>1,UP(A/B)表示向上取整。
求證UP(A/B)=(A+B-1)/B。

證明

由于A>1、B>1,且A、B都是整數(shù),所以可以設A=NB+M

其中N為非負整數(shù),M為0到B-1的數(shù),則

A/B=N+M/B

(A+B-1)/B=N+1+(M-1)/B;

當M為0時,

int(A/B)=N,

int((A+B-1)/B)=N+int(1-1/B)=N

當M為1到B-1的數(shù)時,0<=M-1<=B-2

UP(A/B)=N+1,

int((A+B-1)/B)=N+1+int((M-1)/B)=N+1

所以對A>1、B>1的整數(shù)A、B都有:

UP(A/B)=int((A+B-1)/B)

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容