我想出一个算法来生成一个循环数的嵌套数组,只使用一个循环。我觉得应该使用余数运算符来解决问题,但不能提供一个通用的解决方案。任何人有任何建议或提示?使用只有一个循环来生成嵌套数组
输入:4 输出:1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4
我想出一个算法来生成一个循环数的嵌套数组,只使用一个循环。我觉得应该使用余数运算符来解决问题,但不能提供一个通用的解决方案。任何人有任何建议或提示?使用只有一个循环来生成嵌套数组
输入:4 输出:1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4
你会使用模运算符(%
),但是请注意,你应该从零和向上,并从取模的结果回路也从零和起来,所以你必须添加一个它。
var input = 4;
for (var i = 0; i < input * input; i++) {
var n = (i % input) + 1;
document.write(n + '<br>');
}
类似的东西应该做的诀窍:
int input = ...
int i = 0;
while(i<=(input*input)){
int output = (i % input) + 1;
i++;
}
这是非常优雅的,但我的下一个想法是,它不像一个嵌套数组那样直观。 – rfornal 2014-12-06 13:04:35
@rfornal我知道,但这就是OP想要的... – 2014-12-06 13:05:19
谢谢@卢多维奇 – 2014-12-06 13:09:15
为什么不直接使用嵌套循环?简单易懂 – 2014-12-06 13:01:28
我想这是更多的数学问题... – 2014-12-06 13:06:14