求A³+B³+C³=D³ ABCD∈(0-999) 求ABCD
:( 当时想到的最笨的方法就是for循环的嵌套,从效率方面考虑,请教其它算法
求一道java面试算法题 如下
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
10条回答 默认 最新
qiemengdao 2012-03-01 22:46关注下面是我的代码,在没有打印的情况下在我机器上是1948ms
[code]
long start = System.currentTimeMillis();
int[] cubeArray = new int[1000];
for (int i = 0; i < 1000; i++) {
cubeArray[i] = i * i * i;
}
for (int a = 1; a <= 999; a++) {
for (int b = a; b <= 999; b++) {
for (int c = b; c <= 999; c++) {
for(int d=c+1;d<=999;d++)
if(cubeArray[a]+cubeArray[b]+cubeArray[c]==cubeArray[d]);
// System.out.printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
}
}
}
System.out.println(System.currentTimeMillis()-start);
}
[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报