笔试小结

笔试小结

1.每份考卷都有一个8位二进制序列号。当且仅当一个序列号含有偶数个1时,它才是有效的。例如,00000000、01010011都是有效的序列号,而11111110不是。那么,有效的序列号共有() 个
答案居然是这样做的,着实没想到

解析:总共有2^8=256个序列,其中要么含有偶数个1,要么奇数个,所以对半分为128个。

2.六支笔,其笔身和笔帽颜色相同:但6支笔颜色各不相同,求全部笔身都戴错笔帽的可能性有多少种?
第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法;
第二步,放编号为k的元素,这时有两种情况:⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有D(n-2)种方法;⑵第k个元素不把它放到位置n,这时,对于这n-1个元素,有D(n-1)种方法(相当与K于原N的位置是一对,当时由于K不放在N的位置上,形成类似与“排错,不能构成匹配的语言”,则有n-1个元素);
综上得到
D(n) = (n-1) [D(n-2) + D(n-1)]
答案:265

3.求代码运行结果

public class StringTest1 {
    
    
    public static void modify(String value) {
    
    
        value.toUpperCase();
        value += "3.0";

        System.out.println(value);
    }

    public static void main(String[] args) {
    
    
        String value = new String("alibaba");
        StringTest1.modify(value);

        System.out.println(value);
    }
}

alibaba3.0
alibaba
解析:toUpperCase()是有返回值的,直接这样调用不赋值没用。

class StringTest{
    
    
    public static void modify(StringBuilder value) {
    
    
        value.append("3.0");

        System.out.println(value);
    }

    public static void main(String[] args) {
    
    
        StringBuilder value = new StringBuilder("alibaba");
        StringTest.modify(value);

        System.out.println(value);
    }
}

alibaba3.0
alibaba3.0

猜你喜欢

转载自blog.csdn.net/weixin_43337081/article/details/109096007