明明的随机数

题目形容

明明想在学校中请一些同学一起做一项问卷调查,为了试验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中反复的数字,只保留一个,把其余雷同的数去掉,不同的数对应着不同的学生的学号。而后再把这些数从小到大排序,依照排好的程序去找同学做考察。请你帮助明明实现“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,心愿大家能正确处理)。

Input Param
n               输出随机数的个数
inputArray      n个随机整数组成的数组

Return Value
OutputArray    输入解决后的随机整数

注:测试用例保障输出参数的正确性,答题者无需验证。测试用例不止一组。
样例输出解释:
样例有两组测试
第一组是3个数字,别离是:2,2,1。
第二组是11个数字,别离是:10,20,40,32,67,40,20,89,300,400,15。

输出形容:

输出多行,先输出随机整数的个数,再输出相应个数的整数

输入形容:

返回多行,解决后的后果

示例1
输出

322111102040326740208930040015

输入

1210152032406789300400

通过代码

while(n=parseInt(readline())) {    var arr = [];    while(n--) {        var value = parseInt(readline());        arr[value] = 1;    }    arr.forEach(function(el, index) {        if (el === 1) {            console.log(index);        }    });}

字符串宰割

题目形容

  • 间断输出字符串,请按长度为8拆分每个字符串后输入到新的字符串数组;
  • 长度不是8整数倍的字符串请在前面补数字0,空字符串不解决。

输出形容:

间断输出字符串(输出2次,每个字符串长度小于100)

输入形容:

输入到长度为8的新字符串数组

示例1
输出

abc123456789

输入

abc000001234567890000000

通过代码

while(str=readline()) {    while(str.length > 8) {        console.log(str.substr(0, 8));        str = str.substr(8);    }    if (str.length < 9) {        console.log((str + '00000000').substr(0, 8));    }}

进制转换

题目形容

写出一个程序,承受一个十六进制的数,输入该数值的十进制示意。(多组同时输出)

输出形容:

输出一个十六进制的数值字符串。

输入形容:

输入该数值的十进制字符串。

示例1

输出

0xA

输入

10

通过代码

while(str = readline()) {    console.log(parseInt(str, 16));}

如果十进制转十六进制,应用str.toString(16)

质数因子

题目形容

性能:输出一个正整数,依照从小到大的程序输入它的所有质因子(如180的质因子为2 2 3 3 5 )
最初一个数前面也要有空格

详细描述:

函数接口阐明:
public String getResult(long ulDataInput)
输出参数:
long ulDataInput:输出的正整数
返回值:
String

输出形容:

输出一个long型整数

输入形容:

依照从小到大的程序输入它的所有质数的因子,以空格隔开。最初一个数前面也要有空格。

示例1

输出

180

输入

2 2 3 3 5

通过代码

var num = parseInt(readline());var res = '';for (var i=2; i<Math.sqrt(num); i++) {    while (num%i == 0) {        num = num / i;        res +=  i + ' ';    }}if (num > 1) {    res += num + ' ';}console.log(res)

取近似值(四舍五入)

题目形容

写出一个程序,承受一个正浮点数值,输入该数值的近似整数值。如果小数点后数值大于等于5,向上取整;小于5,则向下取整。

输出形容:

输出一个正浮点数值

输入形容:

输入该数值的近似整数值

示例1

输出

5.5

输入

6

通过代码

var num = readline();console.log(Math.round(num));

合并表记录

题目形容

数据表记录蕴含表索引和数值(int范畴的整数),请对表索引雷同的记录进行合并,行将雷同索引的数值进行求和运算,输入依照key值升序进行输入。

输出形容:

先输出键值对的个数
而后输出成对的index和value值,以空格隔开

输入形容:

输入合并后的键值对(多行)

示例1

输出

40 10 21 23 4

输入

0 31 23 4

通过代码

while(n=readline()) {    var obj = {};    for (var i=0; i<n; i++) {        var lineArr = readline().split(' ');        if (obj[lineArr[0]]) {            obj[lineArr[0]] += parseInt(lineArr[1]);        } else {            obj[lineArr[0]] = parseInt(lineArr[1]);        }    }        for (index in obj) {        console.log(index + ' ' + obj[index]);    }}

字符个数统计

题目形容

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范畴内(0~127),换行示意结束符,不算在字符里。不在范畴内的不作统计。

输出形容:

输出N个字符,字符在ACSII码范畴内。

输入形容:

输入范畴在(0~127)字符的个数。

示例1

输出

abcc

输入

3

通过代码

while (line = readline()) {    var res = '';    var arr = line.split('');    for (var i=0; i<arr.length; i++) {        if (res.indexOf(arr[i]) == -1) {            res += arr[i];        }    }    console.log(res.length);}

字符串反转

题目形容

写出一个程序,承受一个字符串,而后输入该字符串反转后的字符串。(字符串长度不超过1000)

输出形容:

输出N个字符

输入形容:

输入该字符串反转后的字符串

示例1

输出

abcd

输入

dcba

通过代码

var str = readline();var reversedArr = str.split('').reverse();console.log(reversedArr.join(''));

句子逆序

题目形容

将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”
所有单词之间用一个空格隔开,语句中除了英文字母外,不再蕴含其余字符

输出形容:

将一个英文语句以单词为单位逆序排放。

输入形容:

失去逆序的句子

示例1

输出

I am a boy

输入

boy a am I

通过代码

var str = readline();var reversedArr = str.split(' ').reverse();console.log(reversedArr.join(' '));

字串的连贯最长门路查找(依照字典序排列字符串)

题目形容

给定n个字符串,请对n个字符串依照字典序排列。

输出形容:

输出第一行为一个正整数n(1≤n≤1000),上面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。

输入形容:

数据输入n行,输入后果为依照字典序排列的字符串。

示例1

输出

9captocatcardtwotooupboatboot

输入

boatbootcapcardcattotootwoup

通过代码

while (n = readline()) {    var arr = [];    for(var i=0; i<n; i++) {        arr.push(readline());    }    var sortArr = arr.sort();    for(var j=0; j<sortArr.length; j++) {        console.log(sortArr[j]);    }}

求解立方根

题目形容

•计算一个数字的立方根,不应用库函数
详细描述:
•接口阐明
原型:
public static double getCubeRoot(double input)
输出:double 待求解参数
返回值:double  输出参数的立方根,保留一位小数

输出形容:

待求解参数 double类型

输入形容:

输出参数的立方根 也是double类型

示例1

输出

216

输入

6.0

通过代码

var num = parseInt(readline());var res = Math.pow(num, 1/3);console.log((Math.round(res*10)/10).toFixed(1));

【中级】单词倒排

题目形容

对字符串中的所有单词进行倒排。
阐明:
1、每个单词是以26个大写或小写英文字母形成;
2、非形成单词的字符均视为单词距离符;
3、要求倒排后的单词距离符以一个空格示意;如果原字符串中相邻单词间有多个距离符时,倒排转换后也只容许呈现一个空格距离符;
4、每个单词最长20个字母;

输出形容:

输出一行以空格来分隔的句子

输入形容:

输入句子的逆序

示例1

输出

I am a student

输入

student a am I

通过代码

var line = readline();var words = line.match(/[A-Za-z]+/g);var reservedArr = words.reverse();console.log(reservedArr.join(' '));

统计大写字母个数

题目形容

找出给定字符串中大写字符(即'A'-'Z')的个数
接口阐明
原型:int CalcCapital(String str);
返回值:int

输出形容:

输出一个String数据

输入形容:

输入string中大写字母的个数

示例1

输出

add123#$%#%#O

输入

1

通过代码

while (line = readline()) {    var res = line.match(/[A-Z]/g);    console.log(res.length);}

AAAAAA

题目形容

AAAAAAA

输出形容:

AAAAAA

输入形容:

AAAAAA

示例1

输出

AAAAAA

输入

AAAAAA

通过代码

AAAAAA