列表

详情


HJ35. 蛇形矩阵

描述

蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。

例如,当输入5时,应该输出的三角形为:

1 3 6 10 15

2 5 9 14

4 8 13

7 12

11


输入描述

输入正整数N(N不大于100)

输出描述

输出一个N行的蛇形矩阵。

示例1

输入:

4

输出:

1 3 6 10
2 5 9
4 8
7

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2020-07-07

#include "stdio.h"

int main()
{
    int m;
    while(scanf("%d",&m)!=EOF)
    {
        int a[m][m];
        int temp=0;
        for(int i=0;i<m;i++)
        {
            for(int j=i;j>=0;j--)
            {
                temp++;
                a[j][i-j]=temp;
            }
        }
        
        for(int i=0;i<m;i++)
        {
            for(int j=0;j<m-i;j++)
            {
                printf("%d ",a[i][j]);
            }
            printf("\n");
        }
        
    }
    return 0;
}

C++ 解法, 执行用时: 1ms, 内存消耗: 376KB, 提交时间: 2017-10-03

#include<iostream>

using namespace std;

int main(int argc, char** argv)
{
	int n;

	while (cin >> n)
	{
		int beg = 1;
		for (int i = 1; i <= n; ++i)
		{
			cout << beg;
			int temp = beg;
			for (int j = i + 1; j <= n; ++j)
			{
				temp += j;
				cout << ' '<<temp;
			}
			beg += i;
			cout << endl;
		}
	}
}

上一题