15、2016校招腾讯研发岗笔试题(第二题)用Java实现

有下图的题解,请用 C/C++ 代码来列出满足下图 0-100 内的所有答案。

分析:
a1+a2-9=4 (1)

a4-a5*a6=4 (2)

a7+a8-a9=4 (3)

a1+a4/a7=4 (4)

a2-a5*a8=4 (5)

9-a6-a9=4 (6)

分析上面六个式子,由方程(4)则a1<=4范围一下缩小了很多

另外由(6)a6+a9=5,则a6<=5,a9<=5;那么a6是否是另一个要确定的数呢?假设是,我们继续往下算,这样0=

public class Test02Numbers {

    public static void numbers(){
        float a1,a2;
        float a3=9;
        float a4,a5,a6;
        float a7,a8,a9;
        int n=0;
        for(int i=0;i<=4;i++){
            for(int j=0;j<=9;j++){
                a1=(float) (i/1.0);
                a7=(float) (j/1.0);
                a2=13-a1;
                a4=(4-a1)*a7;
                a8 = (a2-4)*(9-a7) / (a2+a4-8);
                if(a8>100||a8<0)
                    continue;
                a6=9-a7-a8;
                if(a6>100||a6<0)
                    continue;
                a9=5-a6;
                if(a9>100||a9<0)
                    continue;
                a5=(a2-4)/a8;
                if(a5>100||a5<0)
                    continue;
                System.out.print(a1+"\t\t");
                System.out.print(a2+"\t\t");
                System.out.print(a3+"\t\t");
                System.out.println();
                System.out.print(a4+"\t\t");
                System.out.print(a5+"\t\t");
                System.out.print(a6+"\t\t");
                System.out.println();
                System.out.print(a7+"\t\t");
                System.out.print(a8+"\t\t");
                System.out.print(a9+"\t\t");
                System.out.println();
                System.out.println("****************");

            }
        }
    }
    public static void main(String[] args) {
        numbers();
    }
}
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页