上限为最接近的 50

发布于 2024-09-26 03:14:55 字数 345 浏览 2 评论 0原文

我可以将 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

走走停停 2024-10-03 03:14:55

您可以除以 50,采用 ceil(),然后再次乘以 50:

  octave:1> A=[24, 35, 78, 101, 199];
  octave:2> ceil(A)
  ans =

    24    35    78   101   199

  octave:3> 50*(ceil(A/50.))
  ans =

    50    50   100   150   200

You could just divide by 50, take ceil(), and multiply by 50 again:

  octave:1> A=[24, 35, 78, 101, 199];
  octave:2> ceil(A)
  ans =

    24    35    78   101   199

  octave:3> 50*(ceil(A/50.))
  ans =

    50    50   100   150   200
同展鸳鸯锦 2024-10-03 03:14:55

一种简单的方法是仅将每个数字的补码模 50 相加:(

octave> A = [24, 35, 78, 101, 199] 

octave> mod(-A, 50)       # Complement (mod 50)
ans =

   26   15   22   49    1

octave> A + mod(-A, 50)   # Sum to "next higher" zero (mod 50)
ans =

    50    50   100   150   200

octave> A - mod(A, 50)    # Can also sum to "next lower" zero (mod 50)
ans =

     0     0    50   100   150

请注意,这仅取决于整数运算,这可以避免由于浮点舍入而导致的错误。)

An easy way is to just add each number's complement modulo 50:

octave> A = [24, 35, 78, 101, 199] 

octave> mod(-A, 50)       # Complement (mod 50)
ans =

   26   15   22   49    1

octave> A + mod(-A, 50)   # Sum to "next higher" zero (mod 50)
ans =

    50    50   100   150   200

octave> A - mod(A, 50)    # Can also sum to "next lower" zero (mod 50)
ans =

     0     0    50   100   150

(Note that this only depends on integer arithmetic, which avoids errors due to floating-point rounding.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文