javascript - Project Euler Problem 3 的正确想法是什么?
问题描述
对于每个需要问题本身的人:“13195 的质因数是 5、7、13 和 29。
数字 600851475143 的最大质因数是多少?”
所以我坐在这里试图用 JavaScript 解决它。我不想用谷歌搜索它,因为那样我会得到我不想要的确切解决方案。我只是想问是否有人可以告诉我我是否做错了什么,或者我是否有正确的想法,而我只是错过了一些东西(?)以及我可以考虑改进的地方,而没有告诉我直接的答案。代码还没有完成(需要按最大的数字对数组进行排序,我的浏览器在执行函数时崩溃/加载时间很长,所以循环也一定有问题)。
提前致谢。
function solve() {
var divider = 2;
var n = 600851475143;
var item = 0;
var arr = [];
for (divider = 2; divider <= n; divider++) {
if (n % divider === 0) {
item = n / divider;
arr.push(item);
} else {
divider++;
}
}
console.log(arr);
}
解决方案
正如史蒂夫(https://stackoverflow.com/users/6184972/steve)在评论中指出的那样:
“欧拉计划的许多问题更多地依赖于对数学的理解,而不是编程,所以这里的人可能不那么容易接受。我要指出的是,你迭代的是每一个整数,而不是每一个素数。你可能应该包含主要因素的某些方面,以使其更有效。一般提示:如果您正在迭代超过十亿的东西,请寻找一些优化“
所以我实际上实施了一个主要检查。
推荐阅读
- php - NGINX 入口 + Wordpress-fpm = ERR_TOO_MANY_REDIRECTS
- python - 是否可以在 Scrapy 中使用熊猫?
- java - 密钥库证书链长度错误 - 如何以编程方式将整个证书链加载到 Java 密钥库中,以便使用 SSL 身份验证连接到 Kafka?
- java - 有没有办法在程序仍在运行时替换 eclipse 中的输出?
- typescript - ORM 类型的横向连接
- react-redux - redux-oidc 从 keycloak 重定向 - USER_EXPIRED 在 USER_FOUND 之前调用,导致登录屏幕闪烁
- python - py2neo.database.work.ClientError: [Security.Unauthorized] 客户端因认证失败而未授权
- arrays - 如何在 Spark 中将数组项分成单独的列?
- three.js - three.js SpotLight 急性光束不起作用
- python - 在函数内部使用函数