华为机试-蛇形矩阵
题目描述
题目说明
蛇形矩阵是由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实现代码
- import java.util.Scanner;
 - /**
 - * 题目描述 题目说明 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
 - */
 - public class Main {
 - public static void main(String[] args) {
 - Scanner scanner = new Scanner(System.in);
 - while (scanner.hasNext()) {
 - int num = scanner.nextInt();
 - String[] strings = new String[num];
 - for (int i = 0; i < strings.length; i++) {
 - strings[i] = "";
 - }
 - GetResult(num, strings);
 - for (int i = 0; i < strings.length; i++) {
 - System.out.println(strings[i]);
 - }
 - }
 - }
 - private static void GetResult(int num, String[] strings) {
 - int startNum = 1;
 - int startLeft = 1;
 - int add = 2;
 - int end = num;
 - int currentAdd = 2;
 - int hangAdd = 1;
 - for (int i = 0; i < num; i++) {
 - currentAdd = i + 2;
 - startNum = startLeft;
 - for (int j = 0; j < end; j++) {
 - if (j != end - 1) {
 - strings[i] += startNum + " ";
 - } else {
 - strings[i] += startNum;
 - }
 - startNum += currentAdd;
 - currentAdd++;
 - }
 - startLeft += hangAdd;
 - hangAdd++;
 - end--;
 - }
 - }
 - }
 
posted on 2017-07-21 16:39 WenjieWangFlyToWorld 阅读(373) 评论(0) 收藏 举报
                    
                
                
            
        
浙公网安备 33010602011771号