************做数据库的,总应该会点数学,大家帮我看看*********** 如round(M*R)<M*R(其中M是大于0的正整数,R是小数,0<R<1,round是oracle的取整函数),则round(M*R)+1<=M.谁能帮我证明上面的推论是否成立.这个是从我实际问题(有关调整)提出来的一个模型,我取了一些数据验证,都能通过,但心里没底. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为0<R<1,M是大于0的正整数所以round(M*R)<M*R<M而round(M*R)是整数所以round(M*R)+1<=M证毕 倒退法因为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成立!证明完毕。 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; 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> 更进一步说:是round(M*R)+1<M 而没有=的情况round(M*R)+1<=M ---> M*R-0.5+1<M feng2(蜀山风云)漏掉了前提条件round(M*R)<M*R------ruoun(1*0.99)>1*0.99 ! 其实不用考虑round(M*R)是什么,就当是个整数就行了 如果round(M*R) < M*R 是条件,==>round(M*R)+1 <= M 是成立的;bzszp(SongZip) 和 waterfirer(水清) 的思路都对 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 M*R-0.5 < round(M*R)round(M*R)+1<=M ---> M*R-0.5+1<=M-------------用小的替代 左边的 没有任何问题比如5<66+1<8 则 5+1<8肯定没有问题 但是round(M*R)+1<=M是结论(须证明),不能作为已知事实来推断,只能对它做变换. DROP表后 在回收站里 怎么查到 并且还原 sqlserver的ntext类型在oracle中可以用什么类型表示 求oracle学习资料下载 module是QvConnect32.EXE代表什么意思? 一个简单的但的update语句,弄了半天也没有弄好 为什么连不到ORACLE了?? 我修改字段类型的时候,提示说该字段数据必须为空,如何解决? 回滚段问题 我在向表录入数据时出错,不能向所建的表输入数据,请问这是为什么? date类型 急招ORACLE高手,优化人员! Oracle字符集的怪现象
所以round(M*R)<M*R<M
而round(M*R)是整数
所以round(M*R)+1<=M
证毕
因为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成立!证明完毕。
但是round(M*R)+1<=M不成立。round(1*0.99)=1 <= 1*0.99=0.99 <1;
round(1*0.99)+1=2 > 1;
----------
1Executed in 0.016 secondsSQL> select round(1*0.99) + 1 a from dual; A
----------
2Executed in 0.016 secondsSQL>
是round(M*R)+1<M 而没有=的情况
round(M*R)+1<=M ---> M*R-0.5+1<M
round(M*R)<M*R
------
ruoun(1*0.99)>1*0.99 !
==>
round(M*R)+1 <= M 是成立的;
bzszp(SongZip) 和 waterfirer(水清) 的思路都对
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
round(M*R)+1<=M ---> M*R-0.5+1<=M
-------------
用小的替代 左边的 没有任何问题
比如
5<6
6+1<8 则 5+1<8肯定没有问题