余数问题及分页逻辑

余数

  在整数的除法中,只有能整除与不能整除两种情况。当不能整除时,就产生余数,所以余数问题在小学数学中非常重要。
  余数有如下一些重要性质(a,b,c均为自然数):
  (1)余数小于除数。
  (2)被除数=除数×商+余数;
  除数=(被除数-余数)÷商;
  商=(被除数-余数)÷除数。
参见下列帖子:

http://topic.csdn.net/u/20080117/10/13e74845-89a5-456d-a16f-fa41197e9a7e.html

 

public class my{
    public static void main(String args[]){
        int a = 2;
        int b = 5;
        int c = a % b;
       
        System.out.println("c=" + c);
    }
}

怎么是2呢?为什么不是0哪,%的运算是怎么个过程啊

解一:

%就是求余数运算
A%B
相当于
while(A>B){
  A-=B;
}
return A;

 

解二:

对于int和long来说
a % b = a - (a/b) * b

 

再看分页代码:

http://www.z6688.com/info/34492-1.htm

定义两个vector,一个为储存查询所有记录的totalv,另一个储存当前页的记录currentpagev;
总的记录数:int totalsize = totalv.getsize();
每页显示的记录数:int countperpage;
总页数:int totalpagenum = totalsize/countperpage;
//如果总的记录数和每页记录数的余数大于零,
//那么总的页数为他们的整除结果加一
if (totalsize%countperpage > 0 ){
totalpagenum = totalsize/countperpage + 1;
}
当前的页数:pagenum;

 

余数里面注意的一点是:2%5 = 2;

用在这里也就是被除数比除数小的时候得到的余数就是被除数。

即分页时当总记录数小于每页记录数时,商为0,但页数应该是1.

 

NumOfPage = (totalsize%countperpage > 0) ? totalsize/countperpage+1 : totalsize/countperpage;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值