Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การหาตัวเลขที่มากกว่าต้นฉบับและใช้หลักฐานเดียวกันใน JavaScript


ปัญหา

เราต้องเขียนฟังก์ชัน JavaScript ที่รับตัวเลข n ฟังก์ชันควรจัดเรียงหลักฐานของตัวเลขเพื่อให้ได้ตัวเลขน้อยที่สุดที่ใช้หลักฐานเดียวกันแต่มากกว่าตัวเลขต้นฉบับ

เช่น ถ้าตัวเลขเข้าเป็น 112 เอาต์พุทควรเป็น 121

ตัวอย่าง

โค้ดตัวอย่างดังนี้:

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));

ผลลัพธ์

ผลลัพธ์ในคอนโซล:

121