中易网

关于向上取整运算(17%4=5;16%4=4)(在c语言中也叫做求余运算)如何用数学公式实现?

答案:3  悬赏:70  
解决时间 2021-04-27 17:35
  • 提问者网友:霸道ぁ小哥
  • 2021-04-27 03:54
请写出得到公式的详细过程,或者得到公式的具体想法,也即你是怎么想到这个算法的?公式的证明过程可以省略!

感谢两位网友的回答,但一楼这位网友的回答有点繁琐。其实我已经知道具体的公式,但是就是想不通他是怎么来的?公式如下:x+n-1/n;比如17/4=5;16/4=4(舍去小数位)。
请各位大仙分析分析这个公式是怎么推导出来的,证明过程我也已经自己推导出来了,但就是想不同这个公式的发现者是怎么想出来的?呵呵!才疏学浅啊!
比如17/4这个式子,17即为x,4为n,依据该公式得到的结果正好符合向上求余运算的算法规则!
最佳答案
  • 二级知识专家网友:年轻没有失败
  • 2021-04-27 04:48
用数学的取整函数是可以实现的
数学取整函数[x]:设x为任意实数,则[x]=不超过x的最大整数,即可以转化为分段函数才求解:
1、若x为整数,则[x]=x;
2、若x为大于零的非整数,则[x]=x的整数部分
3、若x为小于零的非整数,则[x]=x的整数部分-1

所以我认为你要的C求余运算应该可以改写成如下数学算式:
[y/x]+z

(y/x为整数时,z=0,否则z=1)

大家还有什么更快的方法一起吼吼咯,蛮有意思的
全部回答
  • 1楼网友:傲娇菇凉
  • 2021-04-27 06:23
公式你是写出来了吗?
  • 2楼网友:情窦初殇
  • 2021-04-27 05:38
你好! 我有点看不明白,艾艾的x+n-1/n中的n是哪来的?甚至于x是不是待取整的数我都搞不明白,能给个具体的取整实例吗? 你上面说的是(X+N-1)/N吗?明显行不通啊! 随便举个例子.55/12用这个公式能行?只有一种可能性,X是N的倍数加1 如果对你有帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息