牛客网在线判题系统JavaScript(V8)使用

您所在的位置:网站首页 牛客网在线编程测试用例 牛客网在线判题系统JavaScript(V8)使用

牛客网在线判题系统JavaScript(V8)使用

2023-12-27 08:21| 来源: 网络整理| 查看: 265

  JavaScript作为一种弱类型的编程语言,语法和C/C++、JAVA等存在差别,但是对于大部算法题,不只是C/C++、JAVA,也依然可以使用JavaScript来实现。所以在牛客网中,如果你喜欢JavaScript这门编程语言,同时对数据结构与算法感兴趣,当然可以使用这门语言去刷编程题。

  大家有没有跟我碰到过和我类似的情况,在牛客网刷编程题的时候,编译器提供的是Javascript(v8 6.0.0),在线编程部分前端编程还好,只用在题目给出的函数中补充就行。但苦恼的是,我们不知道如何像C/C++这样实现输入,类似于C的scanf 和 C++的cin函数。因为平时JavaScript基本都是函数式编程,就是将程序全都封装在函数里面,然后再调用函数,通过console控制台或者node控制台查看结果。前提是,输入已经指定了。于是乎,牛客网在线判题系统的测试用例是无论如何也通过不了的,因为他的测试用例的输入根本就没法传进去。

  主要原因,其实还是牛客网已经提供了针对JavaScript(V8 6.0.0)的解决办法,在这里简要介绍一下,希望对大家有所帮助。

  以下是A+B题目的样例代码,http://www.nowcoder.com/questionTerminal/dae9959d6df7466d9a1f6d70d6a11417

  计算a+b的和,每行包行两个整数a和b,对于每行输入对应输出一行a和b的和,距离:

输入

1 5  

2 6

输出

6

8

(1)选择Javascript(v8 6.0.0)

(2)获取输入(注意:readline得到的是字符串,本例需要转化为数字)

while(line=readline()){ var lines = line.split(' '); //字符串转换为字符数组 var a = parseInt(lines[0]); var b = parseInt(lines[1]); print(a+b); }

当然 如果是函数的话,也可以像下面这样

while(line=readline()){ var lines = line.split(' '); var a = parseInt(lines[0]); var b = parseInt(lines[1]); function add(m,n){ return m+n; } print(add(a,b)); }

(3)提交运行,可以查看用例通过情况

V8实现多行输入 //多行输入举例 //打印一个多行矩阵 var n = parseInt(readline()); var ans = 0; for(var i = 0;i < n; i++){ lines = readline().split(" ") for(var j = 0;j < lines.length; j++){ ans += parseInt(lines[j]); } print(ans); } Node实现多行输入(固定行数)

var readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); var countLine = 1; var tokens = []; rl.on('line', function(line){ tokens.push(line); if(countLine == 2){ var arr1 = tokens[0].split(''); var arr2 = tokens[1].split(''); for(var i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3