如果是大于等于的取整,可能不是最優(yōu),自己想的:
創(chuàng)新互聯(lián)公司專注于壺關(guān)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供壺關(guān)營(yíng)銷型網(wǎng)站建設(shè),壺關(guān)網(wǎng)站制作、壺關(guān)網(wǎng)頁設(shè)計(jì)、壺關(guān)網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造壺關(guān)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供壺關(guān)網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
if(f%n0)i=f/n+1;
else i=f/n
用數(shù)學(xué)的取整函數(shù)是可以實(shí)現(xiàn)的
數(shù)學(xué)取整函數(shù)[x]:設(shè)x為任意實(shí)數(shù),則[x]=不超過x的最大整數(shù),即可以轉(zhuǎn)化為分段函數(shù)才求解:
1、若x為整數(shù),則[x]=x;
2、若x為大于零的非整數(shù),則[x]=x的整數(shù)部分
3、若x為小于零的非整數(shù),則[x]=x的整數(shù)部分-1
所以我認(rèn)為你要的C求余運(yùn)算應(yīng)該可以改寫成如下數(shù)學(xué)算式:
[y/x]+z
(y/x為整數(shù)時(shí),z=0,否則z=1)
大家還有什么更快的方法一起吼吼咯,蠻有意思的
方法一:
調(diào)用ceil函數(shù)(在math中提供)
a?=?ceil(3.5);
方法二:
定義宏
#define?up(x)?((int)(x)+(((double)((int)(x)))!=(double)(x)))
方法三:
常規(guī)條件判斷
int?CEIL(double?x)
{
if((double)x?==?(int)x)return?(int)x;
return?(int)x?+?1;
}