编程题|不同的语言环境输入输出总结🍳

279 阅读1分钟

牛客

image.png

赛码 [JSV8]

数列和

题目描述:

数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。

样例输入

81 4
2 2

样例输出

94.73
3.41
 let m,n,sc,sum;
while((sc = read_line()) != ''){
  let arr = sc.split(' ');
  n =parseInt(arr[0]);
  m= parseInt(arr[1]);
  sum = 0;
  for(let i =0;i<m;i++){
    sum = sum + n;
    n = Math.sqrt(n);
  }
  print(sum.toFixed(2));
}

水仙花

题目描述:

春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在m和n范围内的水仙花数。

输入描述:

输入数据有多组,每组占一行,包括两个整数m和n(100<=m<=n<=999)。

样例输入

 100 120 
 300 380

样例输出

no
370 371
var m,n,sc;
while((sc = read_line()) != ''){
  let arr = sc.split(' ');
  m = parseInt(arr[0]);
  n = parseInt(arr[1]);
  if(100<=m&&m<=n&&n<=999){
    let out = [];
    let j = 0;
    for(let i = m;i<=n;i++){
      let gewei,shiwei,baiwei;
      baiwei =parseInt(i/100);
      shiwei = parseInt((i - baiwei*100)/10);
      geiwei = i-baiwei*100-shiwei*10;
      if(i==geiwei*geiwei*geiwei+shiwei*shiwei*shiwei+baiwei*baiwei*baiwei){
        j = j+1;
        if(j>1){
          out.push(" "+ i);
        }else{
          out.push(i)
        }
      }
    }
    if(j==0){
      out.push('no');
    }
    print(out.join(''))
  }
}

其他

输入

3 
3 3 2

var line;
let arr1 =[];
while((line = read_line()) != ''){
    //每次读取的一行数据转成数组
  let arr = line.split(' ').map((v)=>parseInt(v));
    //二维数组封装
  arr1.push(arr);
    //如果读取完毕(正好2行)
  if(arr1.length === 2){
     //进行逻辑处理
    printOut(arr1[1]);
  }
}

赛码 [NodeJs]

数列和

题目描述:

数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。

样例输入

81 4
2 2

样例输出

94.73
3.41
var readline = require('readline');
process.stdin.setEncoding('utf-8');

var rl = readline.createInterface({input: process.stdin, output: process.stdout, prompt:''});
rl.prompt();


rl.on('line', function (data) {
  let arr = data.split(' ').map(v => parseInt(v));
  let n = arr[0];
  let m = arr[1];
  let sum = 0;
  if(arr.length ==2 ){
    for(let i =0;i<m;i++){
      sum = sum+n;
      n = Math.sqrt(n);
    }
    process.stdout.write(sum.toFixed(2)); 
  }
});

其他

样例输入

3
3 3 2

样例输出

var readline = require('readline');
process.stdin.setEncoding('utf-8');
let arr1 = [];
var rl = readline.createInterface({input: process.stdin, output: process.stdout, prompt:''});
rl.prompt();
rl.on('line', function (data) {
    //将每行读的值转成数组
  let arr = data.split(' ').map((v)=>parseInt(v));
    //用二维数组存
  arr1.push(arr);
    //如果读取完毕(正好2行)
  if (arr1.length ===2) {
      //进行逻辑处理
    printOut(arr1[1]);
  }
});

华为


process.stdin.resume();
process.stdin.setEncoding('utf-8');
let input = '';
process.stdin.on('data', (data) => {
    //一行一行读入,input读入一行字符串
    input += data;
});
process.stdin.on('end', () => {
    deal(input);
   function deal(s){
       let set = new Set();
       for(let i =0;i<s.length;i++){
           let visited = [i];
           let header = input[i];
           helper(visited,set,s,header);
       }
       console.log(set.size);
   }
    function helper(visited,set,s,header){
        if(visited.length === s.length){
            set.add(header);
        }
        for(let i =0 ;i<s.length;i++){
            if(!visited.includes(i)){
                let tempStr = header +s[i];
                let tempVisited = [...visited];
                tempVisited.push(i);
                helper(tempVisited,set,s,tempStr);
            }
        }
    }
    /**
     * 待实现函数,在此函数中填入答题代码
     * doFunc()
     */
    process.exit();
});