我试图从Project Euler 解决Q10.我使用JavaScript和Sieve of Atkins算法来解决问题.当我在浏览器(Safari和FF)上运行代码时,浏览器会提示脚本没有响应.即使我让脚本继续下去,我也没有得到答案.我知道有同样的Project Euler问题的线程.
我的问题是: -
1.到目前为止,JavaScript能够为浏览器解决这些复杂的数学问题吗?
2.还有其他环境我可以测试我的JavaScript程序吗?
谢谢你们.
小智 6
项目欧拉的目标是让你以数学方式思考.想想暴力强迫,你会被困住.这是Eratosthenes筛选的实现
function problem10() {
var i, j, k, l = Math.floor((2000000-1)/2), a = [];
for (i = 0; i < l; i++) {
a[i] = true;
} var m = Math.sqrt(2000000);
for (i = 0; i <= m; i++) {
if (a[i]) {
j = 2 * i + 3;
k = i + j;
while (k < l) {
a[k] = false;
k += j;
}
}
} var s = 2;
for (i = 0; i < l; i++) {
if (a[i]) {
s += 2 * i + 3;
}
}
return s;
}
var d1 = new Date().getTime();
var answer = problem10();
var d2 = new Date().getTime();
console.log('Answer:' + answer + ' time:' + (d2 - d1));
Run Code Online (Sandbox Code Playgroud)
您可以在chrome开发人员的控制台上运行它(Ctrl + Shift + J).猜猜看,它的时钟为0.1秒.
| 归档时间: |
|
| 查看次数: |
3335 次 |
| 最近记录: |