Задание учебное.
Их пример ввода-вывода:
var readline = require("readline");
var rl = readline.createInterface(process.stdin, process.stdout);
rl.on("line", function(line) {
console.log("0,5,7,8,9")
rl.close();
}).on("close",function(){
process.exit(0);
});
Мой код:
let number = [
[0, 8],
[1, 2, 4],
[1, 2, 3, 5],
[2, 3, 6],
[1, 4, 5, 7],
[2, 4, 5, 6, 8],
[3, 5, 6, 9],
[4, 7, 8],
[0, 5, 7, 8, 9],
[6, 8, 9]
];
let finalNumber = [];
let result = prompt('Введите пин код', 1234);
let devResult = [];
for (let i = 0; i < result.length; i++) {
devResult[i] = result[i];
}
for (let i = 0; i < devResult.length; i++) {
let a = devResult[i];
finalNumber[i] = [];
for(g = 0; g < number[a].length; g++){
finalNumber[i][g] = number[a][g];
}
}
function cartesianProduct(arr) {
return arr.reduce(function(a,b){
return a.map(function(x){
return b.map(function(y){
return x.concat(y);
})
}).reduce(function(a,b){ return a.concat(b) },[])
}, [[]])
}
let a = cartesianProduct(finalNumber);
let b = [];
let finalString = '';
for (let i = 0; i < a.length; i++) {
b[i] = a[i].join('');
}
function sInc (i, ii) {
if (i > ii)
return 1;
else if (i < ii)
return -1;
else return 0;
}
for (i = 0; i < b.length; i++) {
finalString += (b[i] + ',' + ' ');
}
finalString = finalString.slice(0, -2);
console.log(finalString);
Значение, которое необходимо вывести лежит в finalString.
Оно корректное для всех возможных случаев.
Автотест его не принимает, потому что надо через этот readline.
Внимание вопрос, как?
Помогите, пожалуйста.