【发布时间】:2016-07-14 02:30:11
【问题描述】:
我确实对此进行了很多思考,并且能够计算出所有变量和计数器的运行情况以及我们如何得出结果。
但是,是否有任何逻辑支持 Mark Byer 的解决方案 here,或者只是调整了所有计数器都到位?
请给我一个算法的逻辑解释
代码
#include <stdio.h>
int main()
{
int x[3][3] = {1, 2, 3,
4, 5, 6,
7, 8, 9};
int n = 3;
for (int slice = 0; slice < 2 * n - 1; ++slice) {
printf("Slice %d: ", slice);
int z = slice < n ? 0 : slice - n + 1;
for (int j = z; j <= slice - z; ++j) {
printf("%d ", x[j][slice - j]);
}
printf("\n");
}
return 0;
}
【问题讨论】: