算法 - 数字反转打印
创始人
2024-03-30 16:08:28
0

目录

题目描述

输入描述

输出描述

用例

题目解析

算法源码


题目描述

小华是个对数字很敏感的小朋友,他觉得数字的不同排列方式有特殊美感。

某天,小华突发奇想,如果数字多行排列,第一行1个数,第二行2个,第三行3个,即第n行有n个数字,并且奇数行正序排列,偶数行逆序排列,数字依次累加。

这样排列的数字一定很有意思。聪明的你能编写代码帮助小华完成这个想法吗?

规则总结如下:

a、每个数字占据4个位置,不足四位用‘*’补位,如1打印为1***。
b、数字之间相邻4空格。
c、数字的打印顺序按照正序逆序交替打印,奇数行正序,偶数行逆序。
d、最后一行数字顶格,第n-1行相对第n行缩进四个空格

输入描述

第一行输入为N,表示打印多少行; 1<=N<=30

输入:2

输出描述

XXXX1***

3***XXXX2***

用例

输入2
输出

   1***

3*** 2***

说明符号*表示,数字不满4位时的补位,符号X表示数字之间的空格。注意实际编码时不需要打印X,直接打印空格即可。此处为说明题意,故此加上X。

题目解析

这题没啥好说的,按照要求写就行,就是感觉小华有点欠揍。

贴一下N=30的运行效果图

算法源码

/* JavaScript Node ACM模式 控制台输入获取 */
const readline = require("readline");const rl = readline.createInterface({input: process.stdin,output: process.stdout,
});rl.on("line", (line) => {const n = parseInt(line);let print = 1; // 每行要打印的数,起始为第一行第一个数1for (let i = 1; i <= n; i++) { // 多少行let printList = [];for (let j = 0; j < i; j++) { // 每行多少个数printList.push(print++);}if (i % 2 === 0) { // 如果是偶数行,则逆序printList.reverse();}printList = printList.map((ele) => { // 如果数字不足4位则后面用*补足let arr = (ele + "").split("");while (arr.length < 4) {arr.push("*");}return arr.join("");});let res = [];res.push(printList.join("    "));for (let m = 0; m < n - i; m++) { // 每行的缩进res.unshift("    ");}console.log(res.join(""));}
});

相关内容

热门资讯

程凤朝:完善公司治理要前瞻战略... 12月21日,中国公司治理50人论坛第六届主题论坛(第十九届中国公司治理论坛)举行,会上,中关村国睿...
海淀驻区住建委纪检监察组:深化... 为深入贯彻落实二十届中央纪委四次全会部署要求,海淀区纪委监委驻区住建委纪检监察组坚持以案件线索为镜鉴...
专业梳理破诉讼僵局 暖心劝说释... 2024年,山西省退役军人事务厅联合中国法律援助和司法行政英烈关爱救助基金会、中国人民解放军石家庄军...
呼和浩特市法援护航“安薪过冬” 呼和浩特市 法援护航“安薪过冬” 呼和浩特市聚焦重点群体合法权益,针对农民工、网约车驾驶员、物流外卖...
铸法治之魂 优营商之境 聚发展... 营商环境是区域发展的核心竞争力,也是激发市场主体活力的关键所在。 2025年12月3日,《毕节市优化...
“惠民政策落不到村”,紧抓! “重点研究周武村党组织软弱涣散的问题,大家直奔主题,谈谈看法。”山西长治市潞城区店上镇会议室里,一场...
《南阳市中医药产业发展促进条例... 河南日报客户端记者 曾倩 12月26日,南阳市政府新闻办公室召开《南阳市中医药产业发展促进条例》(以...
资讯|蓝天彬律师应邀参加研讨会... 2025年12月27日,由北京市海淀区律师协会、北京市西城区律师协会、南京市律师协会联合主办,北京市...
河北一男子称因挪车问题,与一女... 据媒体报道,12月27日,河北衡水龙先生称一女司机以车辆被挡为由,要求他挪车,随后两人因此产生纠纷,...