ACM模式下JavaScript(js)的输入输出 V8 Node

news2024/11/20 22:38:37

OJ在线编程常见输入输出练习场

ACM模式下分V8和node.js

node.js=V8+内置基本模块,相当于java中的JRE=JVM+java标准库

node就是带有能操作IO和网络库的V8引擎,提供了很多可调用的API使得JavaScript能够读写文件,网络请求,系统信息等操作。对V8引擎进行了封装,执行JavaScript的速度更快,性能更好

不定行,定数目输入计算

在这里插入图片描述

//v8
while(line = readline()) {//不断读取整行
    let lines = line.split(' ').map(Number);//字符串转字符数组再转成Number格式
    let a = lines[0];
    let b = lines[1];
    console.log(a + b);
}
//node.js
let readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function(line) {
        let lines = line.split(' ').map(Number);
        console.log(lines[0] + lines[1]);
});

部分行参与计算+输入单个数字

在这里插入图片描述

//V8
let n = parseInt(readline());//读取一行,转数字
while(line = readline()) {//不断读入整行
    let lines = line.split(' ').map(Number);
    let a = parseInt(lines[0]);
    let b = parseInt(lines[1]);
    console.log(a + b);
}
//node.js
let readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let num = 0;
rl.on('line', function(line) {
    if(num === 0) {
        num = parseInt(line);
    } else {
        let [x, y] = line.split(' ').map(Number);
        console.log(x + y);
    }
});

终止输入判断(多个数字)

在这里插入图片描述

//V8
while(line = readline()) {
    let lines = line.split(' ');
    let a = parseInt(lines[0]);//可以用map将数组转数字,也可以每个数字单独转int
    let b = parseInt(lines[1]);
    if(a === 0 && b === 0) break;//终止判断
    print(a + b);//输出可以用print也可以用console.log
}
//node.js
let readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function(line){
    let [x, y] = line.split(' ').map(Number);
    if(x === 0 && y === 0) return;
    console.log(x + y);
})

终止输入判断(单个数字)

在这里插入图片描述

//V8
while(line = readline()) {
    let lines = line.split(' ').map(Number);//转数字数组
    if(lines[0] === 0) break;//终止判断
    let res = lines.slice(1).reduce((sum, cur) => {
        return sum + cur;
    })
    print(res);
}
//node.js
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function(line) {
    let arr = line.split(' ').map(Number);
    if(arr[0] === 0) return;
    console.log(arr.slice(1).reduce((sum, cur) => sum + cur));
})

定行,不定数目输入计算

在这里插入图片描述

//V8
let n = parseInt(readline());
while(n--) {//读取n行
    let line = readline().split(' ').map(Number);
    let res = line.slice(1).reduce((sum, cur) => {
        return sum + cur;
    })//计算从第二个数字开始到最后的和
    print(res);
}
//node.js
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let t = 0;
rl.on('line', function(line) {
    if(t === 0) t = parseInt(line);
    else {
        let arr = line.split(' ').map(Number);
        console.log(arr.slice(1).reduce((sum, cur) => sum + cur));
    }
})

根据每行第一个数字决定该行需要计算的数量

在这里插入图片描述

//V8
while(line = readline()){
    let lines = line.split(' ').map(Number);
    let res = 0;
    for(let i = 1;i <= lines[0]; i++){//也可以像上一题一样直接用slice + reduce
        res += lines[i];
    }
    console.log(res);
}
//node.js
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function(line) {
    let arr = line.split(' ').map(Number);
    console.log(arr.splice(1).reduce((sum, cur) => sum + cur));
})

不定行,不定数目输入计算

在这里插入图片描述

//V8
while(line = readline()) {
    let lines = line.split(' ').map(Number);
    let res = lines.reduce((sum, cur) => {
        return sum + cur;
    });
    print(res);
}
//node.js
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function(line) {
    let arr = line.split(' ').map(Number);
    console.log(arr.reduce((sum, cur) => sum + cur));
})

单行字符串排序输出

在这里插入图片描述

//V8
let n = parseInt(readline());
let lines = readline().split(' ');//转成数组后再用sort()方法
console.log(lines.sort().join(' '));
//node.js
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let n = 0;
rl.on('line', function(line) {
    if(n === 0) n = parseInt(line);
    else {
        let str = line.split(' ').sort().join(' ');
        console.log(str);
    }
    
})

多行字符串各自排序空格分隔输出

在这里插入图片描述

//V8
while(line = readline()) {//读取多行
    let lines = line.split(' ');
    console.log(lines.sort().join(' '));
}
//node.js
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function(line) {
    let str = line.split(' ').sort().join(' ');
    console.log(str); 
})

多行字符串各自排序逗号分隔输出

//V8
while(line = readline()) {
    let lines = line.split(',');
    let res = lines.sort().join(',');
    print(res);
}
//node.js
const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
rl.on('line', function(line) {
    let str = line.split(',').sort().join(',');
    console.log(str); 
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/408786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【IIS搭建网站】本地电脑做服务器搭建web站点并公网访问「内网穿透」

文章目录1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试3. Cpolar内网穿透3.1 下载安装Cpolar3.2 Cpolar云端设置3.3 Cpolar本地设置4.公网访问测试5.结语1.前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xff0c;比如网页…

前端项目如何部署到服务器实现网址访问

目录 前言 需要用到的东西 购买云服务器和域名 绑定域名 使用Xshell连接云服务器 下载Nginx 安装nginx 配置nginx 启动nginx 传输文件 配置防火墙 卸载自带的防火墙 安装iptables防火墙 最后 前言 写了那么久的前端&#xff0c;就想着让朋友们欣赏欣赏&#xff0…

ElementUI快速上手(jar包本地下载)

Element-ui是饿了么前端团队推出的基于vue进行开发的前端框架。 最近刚学了Element-ui&#xff0c;迫不及待练练手&#xff0c;却发现现成的组件样式用不了。引用官网的使用方法&#xff0c;如图&#xff1a; 展示的效果也是不尽人意&#xff0c;在百度的过程中发现可能是链接…

相对定位relative、绝对定位absolute、固定定位fixed

注&#xff1a;默认情况下的定位是 postion&#xff1a;static&#xff1b; 使用定位时&#xff0c;常常使用偏移量对位置进行描述&#xff1a;left、right、top、bottom定位时&#xff0c;使用z-indent可以元素的堆叠顺序&#xff0c;例&#xff1a;z-indent&#xff1a;1&…

Spring Security 权限控制

日积月累&#xff0c;水滴石穿 &#x1f604; 前言 项目版本Boot2.3.12.RELEASESecurity5.3.9.RELEASE 官网文档 在前面的文章中&#xff0c;所有的接口只需要登录就能访问。并没有对每个接口进行权限限制。 在正式的系统中&#xff0c;一个用户会拥有一个或者多个角色&#…

三种架构模式——MVC、MVP、MVVM

目录 前言 一、MVC&#xff08;Model-View-Controller&#xff09; 1、简介 2、框架图 二、MVP&#xff08;Model-View-Presenter&#xff09; 1、简介 2、框架图 三、MVVM&#xff08;Model-View-ViewModel&#xff09; 1、简介 2、框架图 四、总结 前言 MV系列框…

微信小程序插件--wxml-to-canvas(生成图片)

一、需求 项目中要实现一个将图片分享到朋友圈的功能&#xff0c;将生成的海报转成图片保存到手机。用到了wxml-to-canvas插件。 二、官方示例使用方法 1.安装wxml-to-canvas npm install --save wxml-to-canvas2.JSON 组件声明 {"usingComponents": {"wxml-t…

多款顶级好用的 Vue 表单设计器测评推荐,可拖拽生成表单

本文完整版&#xff1a;《多款顶级好用的 Vue 表单设计器测评推荐&#xff0c;可拖拽生成表单》 Vue 表单设计器form-generator - 适配 Element Plus UI 框架的表单设计器form-render - 阿里团队开源表单设计器&#xff0c;自家 Antd UI 框架友好form-create - 支持Vue3 及 Ele…

内网npm私有仓库搭建以及使用教程

前言 前端团队沉淀一套通用的UI库、工具类、脚手架&#xff0c;不允许在公网发布&#xff0c;内网npm私有库搭建需求应运而生。如何在内网环境搭建npm私有仓库并使用&#xff1f;主角登场了 —— Verdaccio。接下来我来教大家使用 verdaccio 在内网环境中搭建npm私有仓库。 基…

canvas详细入门教程(1W字 吐血分享)

大家好&#xff0c;我是潘潘 今天为大家带来的是我已经写了很久了的canvas详细教程&#xff0c;对入门canvas很有帮助。 点击跳转原文&#xff1a; canvas详细教程原文 canvas是什么&#xff1f; 简单来说&#xff0c;<canvas> 是HTML5中的标签&#xff0c;它是一个容…

20分钟学会flex布局,熊二都表示学会了,你呢?

✏️ 作者&#xff1a;大二计算机专业学生 ♉ 星座&#xff1a;金牛座 &#x1f3e0; 主页&#xff1a;查看更多文章 &#x1f3c2; 关键&#xff1a;flex 前端布局 熊二都会 大家好&#xff0c;我是小周&#xff0c;今天分享的是熊二都能学会的前端 flex 布局&#xff0c;篇幅…

小程序 getActivePinia was called with no active Pinia. Did you forget to install pinia?

小程序项目使用pinia做状态管理报错&#xff1a; Error: [&#x1f34d;]: getActivePinia was called with no active Pinia. Did you forget to install pinia? const pinia createPinia() app.use(pinia) app运行打包时有个同样的错误 错误原因是&#xff1a;在外部js/t…

Collections类详解

目录 一.Collections概述&#xff1a; 1.1什么是Collections类&#xff1a; 1.2 Collections类和collection的区别和联系&#xff1a; 二. Collections类的主要方法&#xff1a; 一.Collections概述&#xff1a; 1.1 什么是Collections类&#xff1a; Java.util.Collections…

【Node.js】Express框架的基本使用

✍️ 作者简介: 前端新手学习中。 &#x1f482; 作者主页: 作者主页查看更多前端教学 &#x1f393; 专栏分享&#xff1a;css重难点教学 Node.js教学 从头开始学习 目录 初识Express Express简介 什么是Express 进一步理解 Express Express能做什么 Express的基本使用 …

前端登录退出:处理Token问题(获取、缓存、失效处理)以及代码实现

目录一、什么是Token二、获取token三、Token失效处理注意点1、主动退出2、Token过期① 逻辑图②方案③代码实现3、被人顶号① 逻辑图② 方案③代码实现一、什么是Token Token是服务端生成的一串字符串&#xff0c;当用户第一次登陆成功后&#xff0c;服务器会生成一个token&am…

vue 实现自适应屏幕

1.安装自适应屏幕插件&#xff08;优先使用vscode安装&#xff0c;需要调整px转化rem比例&#xff09; &#xff08;1&#xff09;安装插件&#xff1a; npm i lib-flexible --save &#xff08;2&#xff09;mian.js引入&#xff1a; import lib-flexible/flexible.js 2. 如果…

java中controller层是干嘛的?

最近在研究开源框架的源码&#xff0c;打算改写开源框架&#xff0c;适用于自身的业务场景。于是找到了一个框架(spiderFlow)。 根据他的git上的教程&#xff0c;搭建了一个。 controller层&#xff0c;在我们写代码的时候&#xff0c;一般为接口层&#xff0c;与前端&#xf…

CSS锥形渐变实现环形进度条

10月份因为疫情原因、又开启了居家办公模式&#xff0c;空闲之余&#xff0c;与其选择“躺平”&#xff0c;不如去做一些有意义的事情&#xff0c;内心的想法驱使着我去做些什么&#xff0c;但是又没有合适的素材&#xff0c;直到接手了最近的一个可视化项目&#xff0c;一个图…

若依框架---权限管理设计

前言 若依权限管理包含两个部分&#xff1a;菜单权限 和 数据权限。菜单权限控制着我们可以执行哪些操作。数据权限控制着我们可以看到哪些数据。 菜单是一个概括性名称&#xff0c;可以细分为目录、菜单和按钮&#xff0c;以若依自身为例&#xff1a; 目录&#xff0c;就是页…

关于古老的jsp页面的知识汇总(超详细)

1. 为什么要开发出来jsp文件呢&#xff1f; 面对需要将大量的结果&#xff0c;甚至是一整个<html>页面返回给响应体&#xff0c;之前的方法就显得十分麻烦。 之前我们是这样将结果返回给响应体的&#xff0c;如下图&#xff1a; 于是就设计了jsp文件&#xff0c;用来解决…