牛课网OJ规则
用readLine()代替read_line()
用readLine()代替read_line()
用readLine()代替read_line()
用readLine()代替read_line()
用readLine()代替read_line()
多行输入/单行输入(均适用)
V8:
// 链接:https://www.nowcoder.com/discuss/276while(line=readline()){ var lines = line.split(' '); var a = parseInt(lines[0]); var b = parseInt(lines[1]); print(a+b);}
node.js
process.stdin.resume();process.stdin.setEncoding("utf8");process.stdin.on("data", function(chunk) { // data不用管, chunk代表输入的数据 // 单个数字:[1] var n = parseInt(chunk); // 单行多个数字:[1 2 3] var arr = chunk.trim().split(" "); var n0 = parseInt(arr[0]); var n1 = parseInt(arr[1]); // 单行多个数字: var n0 = parseInt((arr[0].trim().split(" "))[0]); var n1 = parseInt((arr[0].trim().split(" "))[1]); // 多行处理: var datas = chunk.trim().split("\n"); // 一行一行的读入数据 // n个数字的读取:(此处假设为第3行数字(则有data[2]),因为下标从0开始) // [1 2 3 4 5] var arr = datas[2].trim().split(" "); var newArr = arr.map(function(item) { // 对arr数组用map里面的函数返回一个新数组(此处主要是转换为数字) return parseInt(item); }); // 以此读取 for(var j = 0;j < n; j++){ console.log(newArr[j]); }});
实例:
好多鱼问题:牛牛有一个鱼缸。鱼缸里面已经有n条鱼,每条鱼的大小为fishSize[i] (1 ≤ i ≤ n,均为正整数),牛牛现在想把新捕捉的鱼放入鱼缸。鱼缸内存在着大鱼吃小鱼的定律。经过观察,牛牛发现一条鱼A的大小为另外一条鱼B大小的2倍到10倍(包括2倍大小和10倍大小),鱼A会吃掉鱼B。考虑到这个,牛牛要放入的鱼就需要保证:
1、放进去的鱼是安全的,不会被其他鱼吃掉 2、这条鱼放进去也不能吃掉其他鱼 鱼缸里面已经存在的鱼已经相处了很久,不考虑他们互相捕食。现在知道新放入鱼的大小范围,牛牛想知道有多少种大小的鱼可以放入这个鱼缸。 ======================================================================================= 输入数据包括3行. 第一行为新放入鱼的尺寸范围minSize,maxSize(1 ≤ minSize,maxSize ≤ 1000),以空格分隔。 第二行为鱼缸里面已经有鱼的数量n(1 ≤ n ≤ 50) 第三行为已经有的鱼的大小fishSize,以空格分隔。 ======================================================================================= 输出描述: 输出有多少种大小的鱼可以放入这个鱼缸。考虑鱼的大小都是整数表示 ======================================================================================= 输入: 1 12 1 1 ======================================================================================= 输出: 3process.stdin.resume();process.stdin.setEncoding("utf8");process.stdin.on("data", function(chunk) { var datas = chunk.trim().split("\n"); // 一行一行的读入数据 var sizes = datas[0].trim().split(" "); // 第一行的多个数据按空格划分开 var minSize = parseInt(sizes[0]); // 第一行的第一个数据 var maxSize = parseInt(sizes[1]); // 第一行的第二个数据 var num = parseInt(datas[1]); // 第二行的单个数据(鱼的数量) var size = datas[2].trim().split(" "); // 第三行的多个数据按空格划分 var fishSize=size.map(function(item){ // 对size数组用map里面的方法返回一个新数组 return parseInt(item); }); var count = 0; for(var i = minSize;i<=maxSize;i++){ var flag = false; for(var j = 0;j=fishSize[j]*2)||(10*i>=fishSize[j]&&2*i<=fishSize[j])){ flag = true; break; } } if(!flag){ count++; } } console.log(count);});
输入单个数字
求质数因子:
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格输入:
180输出:
2 2 3 3 5var readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout, ternimal:false});rl.on('line', function(line){ console.log(calc(line));});function calc(num) { var arr = []; while(num !== 1){ for(var i = 2;i <= num; i++){ if(num % i === 0){ arr.push(i+" "); num = num / i; break; } } } return arr.join('');}
单行文本输入
//系统函数引用var readline = require('readline');const rl = readline.createInterface({ input: process.stdin, output: process.stdout});//rl.on('line', function(line){ var tokens = line.split(' '); console.log(parseInt(tokens[0]) + parseInt(tokens[1]));});