上限为最接近的 50
我可以将 A
的元素四舍五入到大于或等于 A
的最接近的整数
ceil(A)
,但是如果我想将其四舍五入到大于或等于 A
的最接近的 50 该怎么办?代码>A?
例如,给定以下 A
数组,
A=[24, 35, 78, 101, 199];
子例程应返回以下内容
B=Subroutine(A)=[50, 50, 100, 150, 200];
I can round the elements of A
to the nearest integers greater than or equal to A
ceil(A)
But what about if I want to round it to the nearest 50 greater than or equal to A
?
For example, given the following A
array,
A=[24, 35, 78, 101, 199];
A subroutine should return the following
B=Subroutine(A)=[50, 50, 100, 150, 200];
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以除以 50,采用 ceil(),然后再次乘以 50:
You could just divide by 50, take ceil(), and multiply by 50 again:
一种简单的方法是仅将每个数字的补码模 50 相加:(
请注意,这仅取决于整数运算,这可以避免由于浮点舍入而导致的错误。)
An easy way is to just add each number's complement modulo 50:
(Note that this only depends on integer arithmetic, which avoids errors due to floating-point rounding.)