gpt4 book ai didi

node.js - 使用 NodeJS 的回调和事件发射器功能

转载 作者:行者123 更新时间:2023-12-03 08:15:07 25 4
gpt4 key购买 nike

程序语言为NodeJS

待办事项步骤: 1、变量input有输入值。从输入中提取 n1 和 n2。2. 编写一个函数来计算 n1 和 n2 的所有倍数之和(小于 1000(含 1000))。该函数应在 2 秒后记录总和。3. 为事件发射器的任何实例注册一个名为 MyEvent 的事件,并将名为 logInfo 的函数绑定(bind)到它,该函数将“{n1} & {n2} 的倍数”记录到控制台并发出该事件(不要传递任何发出事件时的参数)。

约束

  • Input:输入,以空格分隔的字符串
  • 输出:以换行符分隔的字符串

注意:即使您获得了准确的输出,如果您不使用问题陈述中提到的回调和事件概念,测试用例也会失败。

示例案例0

自定义测试的示例输入100 1000示例输出:100 和 1000 的倍数6500

说明100的倍数为100,200,300,......1000,以下1000的倍数为1000(含1000)。

总和 = (100+200+............1000) + 1000

总和 = 6500

示例案例1

自定义测试的示例输入

500 1200

示例输出:

500 和 1200 的倍数

1500


我尝试了以下代码:

process.stdin.resume();
process.stdin.setEncoding("ascii");
var input = "";
process.stdin.on("data", function (chunk) {
input += chunk;
});

process.stdin.on("end", function () {

let _input = input.split (" ");
let a = parseInt(_input[0]);
let b = parseInt(_input[1]);
console.log("Multiples of " + a + " & " + b);

var sum = 0;
for (var x = 0; x < 1000; x++)
{
if (x % a === 0 || x % b === 0)
{
sum += x;
}
}
console.log(sum);

});

代码测试:

案例1

输入(标准输入)
4 6

您的输出(标准输出)

4 和 6 的倍数
165834

预期输出

4 和 6 的倍数
208666

==================================================

案例2

输入(标准输入)
3 5

您的输出(标准输出)

3 和 5 的倍数
233168

预期输出

3 和 5 的倍数
267333


请帮助我获取此代码。我的输出与这个逻辑不匹配。

最佳答案

我找到了正确的解决方案。

process.stdin.resume();
process.stdin.setEncoding("ascii");
var input = "";
process.stdin.on("data", function (chunk) {
input += chunk;
});


process.stdin.on("end", function () {

const EventEmitter = require('events');
let data = input.split(" ");
n1 = data[0];
n2 = data[1];
// console.log(n1,n2);

let result = 0;
const sum = () => {
for (let i = 0; i <= 1000; i++) {
if (i % n1 == 0) {
result += i;
}
}
for (let j = 0; j <= 1000; j++) {
if (j % n2 == 0) {
result += j;
}
}
console.log(result);
}
setTimeout(sum, 2000);

const event = new EventEmitter();

event.on("MyEvent", () => {
console.log(`Multiples of ${n1} & ${n2}`);
})
event.emit("MyEvent");



});

关于node.js - 使用 NodeJS 的回调和事件发射器功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69660803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com