LSNUOJ 1181 蛇行矩阵

本文详细解析了蛇行矩阵算法的实现过程,介绍了如何通过Java编程语言生成由1开始的自然数依次排列成的上三角形蛇形矩阵,适用于算法初学者及编程爱好者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题 B: 蛇行矩阵
时间限制: 1 Sec 内存限制: 64 MB
提交: 182 解决: 107
[提交][状态][讨论版]
题目描述

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

输入

本题有多组数据,每组数据由一个正整数N组成。(N不大于100)

输出

对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。

样例输入
5
1

样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
1
注意:建立他们的关系
在这里插入图片描述

import java.util.Scanner;

public class t {

	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);

		while(scanner.hasNextInt())
		{
			int n=scanner.nextInt();
			if(n>0&&100>n)
			{
				int t=1,b=0;
				while(n>0)
				{
					int[] a=new int[n];
					for(int i=0;i<n;i++)
					{
						if(i==0)
							a[i]=t;
						else
						{
							a[i]=a[i-1]+i+b+1;
						}
					}
					for(int k=0;k<n;k++)
					{
						System.out.printf("%d",a[k]);//
						if(k<n-1)
							System.out.printf(" ");
					}
					System.out.printf("\n");//
					b++;
					t=t+b;
					n--;
				}
			}

		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值