为 x 和 y 设计一个循环内的公式来满足这些要求

发布于 2024-12-08 19:35:21 字数 913 浏览 0 评论 0原文

给定以下要求,设计一个公式来查找 x 和 y,如下所示

given:  length1   length2, assume length1 >= length2
total = length1 + length2


i = 0                : x = 0,          y = 0
i = 1                : x = 0,          y = 1
...
i = length2 -1       : x = 0,          y = length2 -1
i = total-length1    : x = 0,          y = 0
i = total-length1 +1 : x = 1,          y = 0
...
i = length1 + length2: x = length1 -1, y = 0

因此在代码中,它看起来像这样:

int length1 = //given
int length2 = //given
int total = length1 + length2;
for (int i = 0; i < total; i++) {
    x = ?  //answer here
    y = ?  //answer here
}

这是一个当 length1 = 5 时的示例; length2 =4

 i   x,y
---------
i=0  0,0 
i=1  0,1  
i=2  0,2
i=3  0,3
i=4  0,0
i=5  1,0  
i=6  2,0  
i=7  3,0  
i=8  4,0

编辑: 我正在寻找 1-liner 来查找 x 和 y。
当 i 小于 length2 时将 x 除以 0,当 i > 时将 y 除以 0。长度1.

Given the following requirements, devise a formula to find x and y as given below

given:  length1   length2, assume length1 >= length2
total = length1 + length2


i = 0                : x = 0,          y = 0
i = 1                : x = 0,          y = 1
...
i = length2 -1       : x = 0,          y = length2 -1
i = total-length1    : x = 0,          y = 0
i = total-length1 +1 : x = 1,          y = 0
...
i = length1 + length2: x = length1 -1, y = 0

So in code, it would look something like:

int length1 = //given
int length2 = //given
int total = length1 + length2;
for (int i = 0; i < total; i++) {
    x = ?  //answer here
    y = ?  //answer here
}

Here is an example when length1 = 5; length2 =4

 i   x,y
---------
i=0  0,0 
i=1  0,1  
i=2  0,2
i=3  0,3
i=4  0,0
i=5  1,0  
i=6  2,0  
i=7  3,0  
i=8  4,0

edit:
I'm looking for a 1-liner for finding x and y.
Something that divides x out to 0 when i is less than length2 and y to 0 when i is > length1.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

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

发布评论

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

评论(2

画▽骨i 2024-12-15 19:35:21
if (i < length2) {
  x = 0;
  y = i;
} else {
  x = i - length2;
  y = 0;
}
if (i < length2) {
  x = 0;
  y = i;
} else {
  x = i - length2;
  y = 0;
}
驱逐舰岛风号 2024-12-15 19:35:21

怎么样:

if (i < length2) {
    x = 0;
    y = i;
} else {
    x = i - length2;
    y = 0;
}

how about:

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