https://www.hackerrank.com/contests/projecteuler/challenges/euler001
这是我困惑parseInt readline语句的问题 以及var n语句主要是..
当我运行我的代码时,似乎最多计算十次两次可能是一个简单的问题,只是没有看到它,并希望我能解释所以我可以继续处理项目的euler问题
谢谢
function main() {
var t = parseInt(readLine());
var sum = 0;
var arr = [];
for(var a0 = 0; a0 < t; a0++){
var n = parseInt(readLine());
for (var i = 0; i < n; i++)
if (i % 3 === 0 || i % 5 === 0){
arr.push(i);
sum += i;
};
console.log(arr);
};
}
答案 0 :(得分:1)
也许我没有完全遵循你的问题。
parseInt是一个javascript函数。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
readLine()函数是为你定义的,它会给你&#34;下一行&#34;这是从标准中捕获的。 所有(或大多数)黑客问题通过标准输入提供问题的输入,并期望标准输出的结果。所以对于这个问题,hackerrank已经创建了这个用于读取该输入的样板代码。
process.stdin.on('end', function () {
input_stdin_array = input_stdin.split("\n");
main();
});
填充了readLine()函数中使用的input_stdin_array
数组。
关于
当我运行我的代码时,它似乎最多可以计算两次
问题提到:
第一行包含表示测试用例数的T.接下来是T行,每行包含一个整数N。
所以你要打印T次数(默认测试用例是2),这就是为什么你可能会看到&#34;最多10次&#34;
我希望这有所帮助,可能你可以从https://www.hackerrank.com/domains/tutorials/30-days-of-code挑战开始,这样你就可以更好地掌握如何解决这些问题。
问候
答案 1 :(得分:0)
在第一个for循环之后声明数组。您为每个测试用例使用相同的数组,即使它仍包含先前测试用例中的数字。总和相同。
for(var a0 = 0; a0 < t; a0++) {
var arr = [];
var sum = 0;