题解 | #杨辉三角的变形#

杨辉三角的变形

https://www.nowcoder.com/practice/8ef655edf42d4e08b44be4d777edbf43

import java.util.*;

/**
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 1 2 3 2 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 1 3 6 7 6 3 1 0 0 0 0 0 0 
0 0 0 0 0 1 4 10 16 19 16 10 4 1 0 0 0 0 0 
0 0 0 0 1 5 15 30 45 51 45 30 15 5 1 0 0 0 0 
0 0 0 1 6 21 50 90 126 141 126 90 50 21 6 1 0 0 0 
0 0 1 7 28 77 161 266 357 393 357 266 161 77 28 7 1 0 0 
0 1 8 36 112 266 504 784 1016 1107 1016 784 504 266 112 36 8 1 0  
1 9 45 156 414 882 1554 2304 2907 3139 2907 2304 1554 882 414 156 45 9 1      	

观察发现,n>2时偶数出现位置为 2、3、2、4往复循环
 */


// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextInt()) { // 注意 while 处理多个 case
            int a = in.nextInt();
            System.out.println(solve(a));
        }
    }

    public static int solve(int a) {
        if (a < 3) return -1;
        if ((a - 2) % 4 == 1) return 2;
        else if ((a - 2) % 4 == 2) return 3;
        else if ((a - 2) % 4 == 3) return 2;
        else return 4;
    }
}

/**
int[n][m]                            n=a m=1+2*(a-1)  center = m/2
0  0  0  0  1  0  0  0  0  1  1 3^0  1=1+2*0
0  0  0  1  1  1  0  0  0  2  3 3^1  3=1+2*1
0  0  1  2  3  2  1  0  0  3  9 3^2  5=1+2*2
0  1  3  6  7  6  3  1  0  4  27 3^3 7=1+2*3
1  4  10 16 19 16 10 4  1  5  81 3^4 9=1+2*4

 */

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务