笔试推理编程题:两个乒乓球队进行比赛,各出三人。

第一题:
两个乒乓球队进行比赛,各出三人。
甲队为a,b,c三人,乙队为x,y,z三人。
已抽签决定比赛名单。有人向队员打听比赛的名单。
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单

第二题:
一对兔子,从出生后第3个月起每个月都生一对兔子,编程计算N个月后有多少只兔子

1:

public class Test {

    public static void main(String[] args) {
        // a的对手
        for (char a = 'x'; a <= 'z' ; a ++) {
            // b的对手
            for (char b = 'x'; b <= 'z' ; b ++) {
                // c的对手
                for (char c = 'x'; c <= 'z' ; c ++) {
                    // 全部的可能
                    // if (a != b && a != c && b != c) {
                    //     System.out.println("a-" + a + "    " + "b-" + b + "    " + "c-" + c);
                    // }
                    // 题目答案
                    if (a != b && a != c && b != c && a != 'x' && c != 'x' && c!= 'z') {
                        System.out.println("a-" + a + "    " + "b-" + b + "    " + "c-" + c);
                    }
                }
            }
        }
    }
}

2:斐波那契数列

public class Test {

    public static void main(String[] args) {
        int n = 10;
        System.out.println(fibo(n));
    }

    public static int fibo(int n) {
        if (n == 0) {
            return 0;
        }
        if (n <= 2) {
            return 1;
        }
        return fibo(n - 2) + fibo(n - 1);
    }
}