用于创建矩形的 for 循环中的模数

Modulus in a for loop for creating a rectangle

这是一个非常具体的问题,因为我只需要知道这个模式是否有名称,以及是否有更有效的方法。 (忽略 for 循环中明显的声明)

for (int i = 0; i < 8; i++) {

    int mod = i % 2;
    int mod2 = ((i % 4) / 2).ceil() & (mod * 15);

}

现在这输出了一个很酷的“01020102”模式,我需要它来构建一个矩形...但我不喜欢它的笨拙

现在这段代码可以访问一个数组,其模式允许创建一个有 4 个角和 4 个边的盒子(因为它访问 [角长、偶边长度、奇边长度])

如果有人对此有更好的模式,那就太好了……我想这很好

好吧,我看不出你的代码有任何意义......

  • 但是有很多方法可以创建您需要的重复序列
  • 这里举几个例子

示例 1:

int tab[4]={0,1,0,2};
for (int i=0;i<8;i=(i+1)&3) output(tab[i]);
  • 使用 table

示例 2:

for (int i=0;i<8;i+=4) 
 {
 output(0);
 output(1);
 output(0);
 output(2);
 }
  • 直接输出