我想编写一个 Java 风格的for
循环,如下所示:
for (int i = 1; i <= 3; ++i) {
for (int j = 1; j <= i-1; ++j) {
System.out.println(i + " " + j);
}
}
运行上述代码的输出将是
2 1
3 1
3 2
我尝试对此进行编码R
如下:
for (i in 1:3) {
for (j in 1:(i-1)) {
print(sprintf('%d %d', i, j))
}
}
但是,运行此R
代码会给出输出
[1] "1 1"
[1] "1 0"
[1] "2 1"
[1] "3 1"
[1] "3 2"
我意识到这种情况正在发生,因为1:0 = c(1,0)
. 使用seq(1,0)
也不起作用,因为seq(1,0) = c(1,0)
. 编写这两个for
循环的正确方法是什么?