Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một số n. Hàm sẽ sắp xếp lại các chữ số của số đó để tạo thành số nhỏ nhất sử dụng cùng các chữ số nhưng chỉ lớn hơn số đầu vào. Ví dụ, nếu số đầu vào là 112, kết quả nên là 121.
Ví dụ
Dưới đây là mã nguồn:
const num = 112;
const findNextBigger = (num = 1) => {
const sortedDigits = (num = 1) => {
return String(num)
.split('')
.sort((a, b) => b - a);
};
let max = sortedDigits(num).join('');
max = Number(max);
for(let i = num + 1; i <= max; i++){
if(max === +sortedDigits(i).join('')){
return i;
};
};
return -1;
};
console.log(findNextBigger(num));Kết quả
Kết quả đầu ra trong console:
121