答案 0 :(得分:2)
你有
var lines = input.split('\n');
将以下值的长度作为第一个元素。
您的循环看起来像
var limit = parseInt(lines[0], 10); // take a radix as well
for (var i = 1; i <= limit; i++) { // start from one
var number = parseInt(lines[i], 10); // take value directly without mutating the array
然后,您无需检查该值是否在所需范围内,因为该页面仅提供了更多信息。您可以通过查看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators来检查Javascript的整数值是否适合此范围。
但是您可以检查该值是否在间隔[10,20]之内
if (number >= 10 && number <= 20) {
inside++;
}
}
// finally
out = limit - inside;
答案 1 :(得分:-1)
我不确定您代码中的逻辑。您可以使用1个循环来实现解决方案。我在下面的C中编写了示例解决方案。您应该看一下,了解逻辑,然后将其转换为javascript。
#include <stdio.h>
int main(void) {
int N, in_range = 0, out_range = 0, cur_num;
scanf("%d", &N);
for(int i = 0; i < N; i++){
scanf("%d", &cur_num);
if (cur_num >= 10 && cur_num <= 20) in_range++;
else out_range++;
}
printf("%d in\n", in_range);
printf("%d out\n", out_range);
return 0;
}