如round(M*R)<M*R(其中M是大于0的正整数,R是小数,0<R<1,round是oracle的取整函数),则
round(M*R)+1<=M.
谁能帮我证明上面的推论是否成立.这个是从我实际问题(有关调整)提出来的一个模型,我取了一些数据验证,都能通过,但心里没底.

解决方案 »

  1.   

    因为0<R<1,M是大于0的正整数
    所以round(M*R)<M*R<M
    而round(M*R)是整数
    所以round(M*R)+1<=M
    证毕
      

  2.   

    倒退法
    因为round(M*R)<M*R,所以M*R小数部分小于0.5,所以
    M*R-0.5 < round(M*R)
    所以
    round(M*R)+1<=M  ---> M*R-0.5+1<=M

    M*r+0.5<=M因为M*R小数部分小于0.5,而且r<1 所以M*R<M
    这样 M*R+0.5也不会大于M因此round(M*R)+1<=M成立!证明完毕。
      

  3.   

    round(M*R)<=M*R<M成立;
    但是round(M*R)+1<=M不成立。round(1*0.99)=1 <= 1*0.99=0.99 <1;
    round(1*0.99)+1=2 > 1;
      

  4.   

    SQL> select round(1*0.99) a from dual;         A
    ----------
             1Executed in 0.016 secondsSQL> select round(1*0.99) + 1 a from dual;         A
    ----------
             2Executed in 0.016 secondsSQL>
      

  5.   

    更进一步说:
    是round(M*R)+1<M 而没有=的情况
    round(M*R)+1<=M  ---> M*R-0.5+1<M
      

  6.   

    feng2(蜀山风云)漏掉了前提条件
    round(M*R)<M*R
    ------
    ruoun(1*0.99)>1*0.99 !
      

  7.   

    其实不用考虑round(M*R)是什么,就当是个整数就行了
      

  8.   

    如果round(M*R) < M*R 是条件,
    ==>
    round(M*R)+1 <= M 是成立的;
    bzszp(SongZip) 和 waterfirer(水清) 的思路都对
      

  9.   

    waterfirer(水清)的解释最有创造性,大家都把问题想复杂了,而忽略了连续的两个整数最小也差1(这个是公理级的,连陈景润都没办法证明) .
    bzszp(SongZip)的替代有问题啊.
    M*R-0.5 < round(M*R)
    round(M*R)+1<=M  ---> M*R-0.5+1<=M
    -------------
    怎么能用一个较小值替代不等式的左边,正好反了.另前提是:round(M*R)<M*R
      

  10.   

    M*R-0.5 < round(M*R)
    round(M*R)+1<=M  ---> M*R-0.5+1<=M
    -------------
    用小的替代 左边的 没有任何问题
    比如
    5<6
    6+1<8 则 5+1<8肯定没有问题
      

  11.   

    但是round(M*R)+1<=M是结论(须证明),不能作为已知事实来推断,只能对它做变换.