DESKTOP-2IHO1NT_20200826-秦文亮

问题

1、孪生素数代码解析

public static void main(String[] args) {

        boolean a;
        int s = 2;
        for (int i = 2; i < 1000; i++) {
            a = false;
            for (int j = 2; j <= i / 2; j++) {
                if (i % j == 0) {
                    a = true;
                }
            }
            if (a == false) {
                if (i == s + 2) {
                    System.out.println(s + " " + i);
                }
                s = i;
            }
        }
    }

1.1 对i/2的理解

已解决

                if (i == s + 2) {
                    System.out.println(s + " " + i);
                }
                s = i;

1.2 对i赋值给s的理解。

已解决

2、十进制转二进制代码解析

public static void main(String[] args) {

        Scanner s = new Scanner(System.in);

        System.out.println("请输入:");

        int i = s.nextInt();

        String a = "";

        if (i > 0) {

            for (int x = i; x > 0; x /= 2) {

                a = x % 2 + a;
            }
            System.out.println("0"+a);
        } else if (i < 0) {
            i = i * (-1);

            for (int x = i; x > 0; x /= 2) {

                a = x % 2 + a;
            }
            System.out.println("1"+a);
        }
    }

2.1求出了正数和负数的二进制。

思路

1.先判断这个数的正负,如果是正数就直接求二进制,用for循环先%2,再/2;直到除到的数为0结束。再进行倒叙输出,这时定义一个String类型的空变量,让%完的数加这个变量。然后循环输出,最后输出前面加上一个0,为符号位。

2.如果是负数先乘以(-1)让其变成整数然后求二进制,用for循环先%2,再/2;直到除到的数为0结束。再进行倒叙输出,这时定义一个String类型的空变量,让%完的数加这个变量。然后循环输出,最后输出前面加上一个1,为符号位。

吐槽

教室里面太闷热,导致上午一段时间一直不是清醒的,根本没有听懂。

算法题看着答案都看不懂,我是不是太笨了。害,无情哈拉少!

加油!!!

标签

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1