package 第100章_高频代码;


public class identityCard {
    public static void main(String[] args) {
        String[] IDSixdigit = {"610527", "610528","610529"};
        String[] IDYear = {"1991", "1992"};
        String[] IDMonth = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"};
        String[] IDDay = {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "22", "22", "23", "24", "25", "26", "27", "28"};
        String randomNumber = String.valueOf((long) ((Math.random() * (999 - 100 + 1)) + 100));

        for (int p = 0; p < IDSixdigit.length; p++) {
            for (int l = 0; l < IDYear.length; l++) {
                for (int d = 0; d < IDMonth.length; d++) {
                    for (int q = 0; q < IDDay.length; q++) {
                        String s1 = IDSixdigit[p] + IDYear[l] + IDMonth[d] + IDDay[q] + randomNumber;
                        long l1 = Long.parseLong(s1.substring(0, 1)) * 7;
                        long l2 = Long.parseLong(s1.substring(1, 2)) * 9;
                        long l3 = Long.parseLong(s1.substring(2, 3)) * 10;
                        long l4 = Long.parseLong(s1.substring(3, 4)) * 5;
                        long l5 = Long.parseLong(s1.substring(4, 5)) * 8;
                        long l6 = Long.parseLong(s1.substring(5, 6)) * 4;
                        long l7 = Long.parseLong(s1.substring(6, 7)) * 2;
                        long l8 = Long.parseLong(s1.substring(7, 8)) * 1;
                        long l9 = Long.parseLong(s1.substring(8, 9)) * 6;
                        long l10 = Long.parseLong(s1.substring(9, 10)) * 3;
                        long l11 = Long.parseLong(s1.substring(10, 11)) * 7;
                        long l12 = Long.parseLong(s1.substring(11, 12)) * 9;
                        long l13 = Long.parseLong(s1.substring(12, 13)) * 10;
                        long l14 = Long.parseLong(s1.substring(13, 14)) * 5;
                        long l15 = Long.parseLong(s1.substring(14, 15)) * 8;
                        long l16 = Long.parseLong(s1.substring(15, 16)) * 4;
                        long l17 = Long.parseLong(s1.substring(16, 17)) * 2;

                        long l18 = (l1 + l2 + l3 + l4 + l5 + l6 + l7 + l8 + l9 + l10 + l11 + l12 + l13 + l14 + l15 + l16 + l17) % 11;

                        if (l18 == 0) {
                            System.out.println(s1 + "1");
                        } else if (1 == l18) {
                            System.out.println(s1 + ("0"));
                        } else if (2 == l18) {
                            System.out.println(s1 + ("X"));
                        } else if (3 == l18) {
                            System.out.println(s1 + ("9"));
                        } else if (4 == l18) {
                            System.out.println(s1 + ("8"));
                        } else if (5 == l18) {
                            System.out.println(s1 + ("7"));
                        } else if (6 == l18) {
                            System.out.println(s1 + ("6"));
                        } else if (7 == l18) {
                            System.out.println(s1 + ("5"));
                        } else if (8 == l18) {
                            System.out.println(s1 + ("4"));
                        } else if (9 == l18) {
                            System.out.println(s1 + ("3"));
                        } else if (10 == l18) {
                            System.out.println(s1 + ("2"));
                        }

                    }
                }
            }
        }

    }
}