题解 | #蛇形矩阵#

蛇形矩阵

http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

C语言模拟,每一列的关系歪打正着,凑出来了

  1. 对于第一列,每一个都是上一个元素加行号,

    1.例如:4(0,2)和2(0,2),4=2+2;

  2. 对于其他列,每一个都是同一行的前一个元素加行号加列好再加一得到的,

    1. 例如:5(1,1)和9(1,2),9=5+1+2+1;
#include <stdio.h>

int main() {
    int n;
    scanf("%d", &n);
    int ans[n][n];
    for (int i = 0; i < n; i++) { //行
        for (int j = 0; j < n - i; j++) { //列
            if (j == 0) { //第一列
                if (i == 0) ans[i][j] = 1;
                else ans[i][j] = ans[i - 1][j] + i;
            } else {
                ans[i][j] = ans[i][j - 1] + i + j + 1;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n - i; j++) {
            j && printf(" ");
            printf("%d", ans[i][j]);
        }
        printf("\n");
    }
    return 0;
}
全部评论

相关推荐

点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务