Demo1
习题公布:
如果可以手算出来得朋友我佩服,但小弟我是真算不出来。
引言:
今天朋友在群里发了一个图片。
看过之后不假思索得给出答案:都是0;
但是还是得经过计算之后才能验证 0 是否是正确答案。
过程:
哈哈,正经得计算一下(代码撸起来):
首先有三个变量 : x , y , z;
逻辑应该是(100x + 10x + y) + (100x + 10z + z) = 1000y + 100y + 10z + z ;
有了逻辑代码还出不来么。
直接new个Thread,然后来个死循环,再加上随机数,不就可以了么?哈哈,说干就干。
int xx = 0;
new Thread(new Runnable() {
@Override
public void run() {
Log.e("最终答案是 : ", "循环外部");
for (; ; ) {
Log.e("最终答案是 : ", "循环内部");
for (int i = 0; i > -1; i++) {
int x = (int)(Math.random()*9+1);
int y = (int)(Math.random()*9+1);
int z = (int)(Math.random()*9+1);
int haha = 100 * x + 10 * x + y + 100 * x + 10 * z + z;
xx++;
Log.e("最终答案是 : ", "x( " + x + ") + " + "y(" + y + ") + " + "z(" + z + ") = haha(" + haha + ");;;虽然这是第" + xx + "次计算,但不是想要的结果,所以还得继续计算。。。");
if (String.valueOf(haha).equals(String.valueOf((1000 * y) + (100 * y) + (10 * z) + z))) {
Log.e("最终答案是 : ", "x = " + x + "; y =" + y + "; z =" + z);
}
}
}
}
}).start();
结果:
然后看控制台,控制台输出都满了还不行,删除瞬间满了,再删除,又满了,再删除。。。
直到上千万次计算?我有点慌了,难道我错了么?自认为逻辑没错,怎么回事?
最终:
就是都等于0;就是都等于0;就是都等于0;
大写得PS:就是嘛,一年级得题能有多难。
如有问题请多指正,您的指正使我更我正确的前行.