题解 | 杨辉三角的变形

//下面是抄网友的顶级作弊代码;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNext()) {
            int n = scan.nextInt();
            if (n == 1 || n == 2) {
                System.out.println(-1);
            } else if (n % 2 != 0) {
                System.out.println(2);
            } else {
                if (n % 4 == 0) {
                    System.out.println(3);
                } else System.out.println(4);
            }

        }
    }
}
//主要是我想发表一下我的暴力代码,我就是那个思忖半天老实巴交暴力生成一个10001*19999数组的大傻子,然后报错了。。。

import java.util.Scanner;
public class HJ53 {
    static int [][]arr;
    public static void main(String[] args) {
        Scanner s = new Scanner(System.in);
        int a=s.nextInt()+1;
        arr=new int [a][2*(a-1)+1];
        arr[0][a-1]=1;
        for(int i=1;i<a;i++) {
            for (int j = 1; j < 2 * (a - 1); j++) {
                arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j] + arr[i - 1][j + 1];
            }
        }
          /*  for (int[] row : arr) {
                // 对于每一行,再次使用增强for循环遍历该行中的每个元素
                for (int element : row) {
                    System.out.print(element + " ");
                }
                System.out.println(); // 换行,以便下一行元素在新的一行显示
            }*/
     int h=-1;
        for(int o=1;o< 2 * (a - 1);o++) {
            if (arr[a-2][o] % 2 == 0) {
                h++;
                if(h==0) {
                    System.out.println(o);
                    break;
                }
            }

            }
        if(h!=0){
            System.out.println(-1);
        }

        }

        }







全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务