Índice
7-17 Transtorno obsessivo-compulsivo
Título original:
Xiaoqiang estava contando as datas de nascimento dos residentes de uma comunidade, mas descobriu que o formato dos aniversários preenchidos por todos não era uniforme: por exemplo, algumas pessoas anotavam 199808
e outras apenas anotavam 9808
. Xiaoqiang, que tem transtorno obsessivo-compulsivo, pede que você escreva um programa para organizar a data de nascimento de todos em um 年年年年-月月
formato. Para informações que contenham apenas os dois últimos dígitos do ano, predefinimos aqueles que 22
são menores ou 20
começam com , e os demais que 19
começam com ou .
Formato de entrada:
Insira o ano e o mês de nascimento em uma linha, que é um número de 6 ou 4 dígitos. A pergunta tem a garantia de ser um ano e mês legal entre janeiro de 1000 e dezembro de 2021.
Formato de saída:
年年年年-月月
Organize as informações de entrada em uma única linha e produza-as em um formato padrão .
.
Ideias para resolução de problemas:
- Importe
readline
o módulo e crie um objeto de interface: primeiroreadline
apresente o módulo e usecreateInterface
métodos para criar um objeto de interfacerl
. Este objeto define o fluxo de entrada como entrada padrão. - Ler entrada e armazenar: Ao ouvir
'line'
eventos, a entrada é armazenada em um arraybuf
. - Analise a entrada e processe a string: atribua
buf
o primeiro elemento da matriz a uma variávelpreStr
e intercepte a substring, exceto os dois últimos caracteres.buf
Atribua os dois últimos caracteres do primeiro elemento da matriz a uma variávellastStr
. - Gere resultados de saída com base nas condições:
preStr
se a duração do julgamento é 4, em caso afirmativo, conectepreStr
elastStr
com hífens e produza o resultado. Caso contrário, determinepreStr
se é menor que 22. Em caso afirmativo, conecte 20 compreStr
e emendelastStr
o resultado de saída; caso contrário,preStr
conecte 19 com e emendelastStr
o resultado de saída. - Resultado de saída: gera a string de resultado gerada.
.
Código JavaScript (nó):
const r = require("readline");
const rl = r.createInterface({
input: process.stdin
});
let buf = [];
rl.on('line', (input) => buf.push(input));
rl.on('close', () => {
const preStr = buf[0].substr(0, buf[0].length - 2);
const lastStr = buf[0].slice(-2);
console.log(preStr.length == 4 ? (preStr + "-" + lastStr) : (parseInt(preStr) < 22 ? (20 + preStr) : (19 + preStr)) + "-" + lastStr);
});
.