题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include <stdio.h>
int main(void)
{
int n;
while(scanf("%d", &n) != EOF)
{
#if 0
for(int i = 1; i <= n; i++)
{
for(int j = 1; j < n - (i - 1); j++)
{
int m = j+i-1;
printf("%d ", (m * m + m)/2 - (i - 1));
}
printf("%d\n", (n * n + n)/2 - (i - 1));
}
#else
int sum = 0;
int num[100][100] = {0};
for(int i = 1; i <= n; i++)
{
sum += i;
num[0][i-1] = sum;
}
for(int i = 1, k = n - 1; i < n; i++, k--)
{
for(int j = 0; j < k; j++)
{
num[i][j] = num[i-1][j+1] - 1;
}
}
for(int i = 0, k = n; i < n; i++, k--)
{
for(int j = 0; j < k; j++)
{
printf("%d ", num[i][j]);
}
printf("\n");
}
#endif
}
return 0;
}