javascript - 为什么下面的代码会导致超时?
问题描述
我在标题为:另一个主要问题的问题中遇到了这个问题。这是我通过测试用例 1 的解决方案,但对于其他测试用例,它导致运行时错误(由于超时而终止)。
function processData(input) {
input=input.split('\n');
input.shift();
for(var i=0;i<input.length;i++){
values(input[i]);
}
}
function values(num){
var sum=0;
num=num.split(' ');
for(var i=num[0];i<=num[1];i++){
for(var j=2;j<=i;j++){
if(i%j==0 && isprime(j)){
sum+=j;
}
}
}
console.log(sum)
}
function isprime(val){
let flag=1;
for(var i=2;i<val;i++){
if(val%i==0){
flag=0;
}
}
if(flag==1){
return true;
}
else{
return false;
}
}
此代码中导致超时的问题是什么?
更多细节:
输入格式:第一行包含 T 表示测试用例的总数。每个测试用例的第一行包含两个整数 X 和 Y。
约束:
1≤T≤10000
2 ≤ X ≤ Y ≤ 10^5
输出格式: [X, Y] 范围内每个数的素数之和。
解决方案
推荐阅读
- html - Bootstrap css 文件中的“footer”类在哪里?
- firebase - FirebaseMessagingError:提供的注册令牌无效
- javascript - DOM 操作:如何在 javascript DOM 中动态地从 json 数据列表中删除元素
- php - PHP在没有JS的情况下将数据发送到模态
- flutter - 如何检查用户的地址是否在我的区域内或不使用颤振中的地图。我想为特定区域的用户提供服务
- python - 修改代码以便能够向我的字典添加另一个值
- python - 通过并行利用 GPU 和 CPU 执行两个基于 TensorFlow 的算法
- angular - 如何更改角垫对话框背景颜色?
- excel - 我在 excel 中有 3 个时间段 - 我需要知道最长连续时间段的持续时间
- sql - 使用 JSON_MODIFY 更新/替换数组