数学表达式:(n+5)//10*10
诶🤓☝🏻!上课自己认为的水课时,突发奇想想到了一个算法题————更准确来说应该是一个技巧吧,
如何实现整数(int)除法的四舍五入呢?也就是,比如本来112/2=56,但是要“四舍五入”,最后结果应该要变成60,也就是112/2≈60,同理108/2≈50,如何实现呢(这里也就是要求个位进十位)?
首先我们知道,在C语言里面int类型做除法会截取小数部分,只保留整数部分,比如2/3=0,在此基础上得到的商设为n,那么个位进十位的“四舍五入”,就可以用数学表达式表达:(n+5)/10*10,当然了这个式子中的除法肯定整除了,也就是上面☝🏻提到直接截去小数部分的除法。
我们来验证一下,112/2=56,56+5=61/10=6*10=60,OK!😋
108/2=54/10=5*10=50,OK!😋
成功了!
数学表达式:(n+5)//10*10
2025-05-15
浏览261
算法之路
登录后评论
评论
分享