AI智能
改变未来

JavaScript_牛客网_编程初学者入门训练(31-40题解)

牛客网编程初学者入门训练题解JavaScript版本

  • 编程初学者入门训练第31-40题解答(js)
  • 34.进制A+B
  • 35.判断字母
  • 37.网购
  • 38.变种水仙花
  • 39.争夺前5名
  • 40.竞选社长

编程初学者入门训练第31-40题解答(js)

本文章尽量用简洁的代码去完成题目要求,话不多说,上代码(因为js语言的限制,所以有些题是骚操作,娱乐而已),后期会不断更新的。
注:有些题找不见了,把有的题写了一下。
代码链接: 编程初学者入门31-40T代码.

34.进制A+B

题目描述:输入一个十六进制数a,和一个八进制数b,输出a+b的十进制结果(范围-2*31~2^31-1)。
输入描述:一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。
输出描述:一行,a+b的十进制结果。

let str = readline();let s = str.split(\' \');let h = s[0];let o = s[1];let a = parseInt(h,16);let b = parseInt(o,8);console.log(a+b)

35.判断字母

题目描述:从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述:多组输入,每行输入包括一个字符。
输出描述:针对每行输入,输出该字符是字母(YES)或不是(NO)。

while(line = readline()){let lines = line.split(\' \');for(let i =0;i<lines.length;i++){let reg = /[a-z,A-Z]/g;if(lines[i].match(reg)){console.log(\'YES\')}else{console.log(\'NO\')}}}

37.网购

题目描述:KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KiKi最终所花的钱数。
输入描述:一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有优惠券用1表示,无优惠券用0表示)。
输出描述:一行,小明实际花的钱数(保留两位小数)。(提示:不要指望商家倒找你钱)

let str = readline();let s = str.split(\' \');let p = Number(s[0]);let y = Number(s[1]);let d = Number(s[2]);let z = Number(s[3]);if(y==11&&d==11){if(z==1){let t =0.7*p-50;if( t<0){console.log(\'0.00\')}else{console.log(t.toFixed(2))}}else{console.log((0.7*p).toFixed(2))}}else if(y==12&&d==12){if(z==1){console.log((0.8*p-50).toFixed(2))}else{console.log((0.8*p).toFixed(2))}}else{if(z==1){console.log((p-50).toFixed(2))}else{console.log(p.toFixed(2))}}

38.变种水仙花

题目描述:变种水仙花数 – Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。
例如:
655 = 6 * 55 + 65 * 5
1461 = 1461 + 1461 + 146*1
求出 5位数中的所有 Lily Number。
输入描述:无。
输出描述:一行,5位数中的所有 Lily Number,每两个数之间间隔一个空格。

let sum1,sum2,sum3,sum4;let str = \'\';for (let i=10000;i<100000;i++){sum1 = parseInt(i/10000) * (i % 10000);sum2 = parseInt(i/1000) * (i % 1000);sum3 = parseInt(i/100) * (i % 100);sum4 = parseInt(i/10) * (i % 10);if (i==sum1+sum2+sum3+sum4){str += i+\' \';}}console.log(str)

39.争夺前5名

题目描述:期中考试开始了,大家都想取得好成绩,争夺前五名。从键盘输入n个学生成绩(不超过40个),输出每组排在前五高的成绩。
输入描述:两行,第一行输入一个整数,表示n个学生(>=5),第二行输入n个学生成绩(整数表示,范围0~100),用空格分隔。
输出描述:一行,输出成绩最高的前五个,用空格分隔。

let  n = readline();let str = readline();n = Number(n);str = str.split(\' \');str.sort(function(a,b){return b-a});let s = \'\';for(let i=0;i<5;i++){s = s+ str[i]+\' \';}console.log(s)

40.竞选社长

题目描述:假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长。
输入描述:一行,字符序列,包含A或B,输入以字符0结束。
输出描述:一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。

let str = readline();let s = str.split(\'\');let a = 0;let b = 0;for(let i = 0;i< s.length -1;i++){if(s[i]==\'A\'){a++;}else if(s[i]==\'B\'){b++;}}if(a>b){console.log(\'A\');}else if(a<b){console.log(\'B\');}else{console.log(\'E\');}

开始想念,那曾经握在手中苍凉的岁月,以及那一片灿烂的江湖,还有那些曾经爱过恨过的人们。
未完待续,loading…

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JavaScript_牛客网_编程初学者入门训练(31-40题解)