WenJieWangFlyToWorld

导航

华为机试-蛇形矩阵

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



样例输入
5
样例输出
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
接口说明
原型
void GetResult(int Num, char * pResult);
输入参数:
int Num:输入的正整数N
输出参数:
int * pResult:指向存放蛇形矩阵的字符串指针
指针指向的内存区域保证有效
返回值:
void


输入描述:
输入正整数N(N不大于100)
输出描述:
输出一个N行的蛇形矩阵。
示例1
输入

4
输出

1 3 6 10
2 5 9
4 8
7

 

java实现代码

  1. import java.util.Scanner;  
  2.   
  3. /** 
  4.  * 题目描述 题目说明 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 
  5.  */  
  6. public class Main {  
  7.     public static void main(String[] args) {  
  8.         Scanner scanner = new Scanner(System.in);  
  9.         while (scanner.hasNext()) {  
  10.             int num = scanner.nextInt();  
  11.             String[] strings = new String[num];  
  12.             for (int i = 0; i < strings.length; i++) {  
  13.                 strings[i] = "";  
  14.             }  
  15.             GetResult(num, strings);  
  16.   
  17.             for (int i = 0; i < strings.length; i++) {  
  18.                 System.out.println(strings[i]);  
  19.             }  
  20.   
  21.         }  
  22.   
  23.     }  
  24.   
  25.     private static void GetResult(int num, String[] strings) {  
  26.   
  27.         int startNum = 1;  
  28.         int startLeft = 1;  
  29.         int add = 2;  
  30.         int end = num;  
  31.         int currentAdd = 2;  
  32.         int hangAdd = 1;  
  33.         for (int i = 0; i < num; i++) {  
  34.             currentAdd = i + 2;  
  35.             startNum = startLeft;  
  36.             for (int j = 0; j < end; j++) {  
  37.                 if (j != end - 1) {  
  38.                     strings[i] += startNum + " ";  
  39.                 } else {  
  40.                     strings[i] += startNum;  
  41.                 }  
  42.   
  43.                 startNum += currentAdd;  
  44.                 currentAdd++;  
  45.             }  
  46.             startLeft += hangAdd;  
  47.             hangAdd++;  
  48.             end--;  
  49.         }  
  50.     }  
  51.   
  52. }  

posted on 2017-07-21 16:39  WenjieWangFlyToWorld  阅读(368)  评论(0编辑  收藏  举报