Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การหาจำนวนช่องว่างใน JavaScript


ตัวเลขจะเว้นช่องว่างหากมีความยาวอย่างน้อย 3 หลักและหารด้วยตัวเลขที่เกิดจากการรวมตัวเลขตัวแรกและตัวสุดท้ายเข้าด้วยกัน จำนวนที่น้อยที่สุดที่เหมาะกับคำอธิบายนี้คือ 100 หลักแรกคือ 1 หลักสุดท้ายคือ 0 ก่อตัวเป็น 10 ซึ่งเป็นตัวประกอบของ 100 ดังนั้น 100 จึงเว้นช่องว่าง

เราจำเป็นต้องสร้างฟังก์ชันที่รับตัวเลข n และคืนค่าตัวเลขช่องว่างที่ใกล้เคียงที่สุด (รวมตัวมันเองด้วย) หากมีช่องว่าง 2 จำนวนที่เท่ากันกับ n ให้คืนค่าตัวล่าง

ตัวอย่างบางส่วน -

gapful(25) ➞ 100

gapful(100) ➞ 100

gapful(103) ➞ 105

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const num = 4780;
const isGapful = n => {
   if (n < 100){
      return false;
   }
   const temp = Array.from(n.toString());
   return n % (temp[0] + temp[temp.length - 1]) === 0;
}
function getClosestGapful(n) {
   let left = n, right = n;
   while (!isGapful(right)){
      right++;
   }
   if (n < 100){
      return right;
   }
   while (!isGapful(left)){
      left++;
   }
   return n - left <= right - n ? left : right;
};
console.log(getClosestGapful(25));
console.log(getClosestGapful(num));

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้บนคอนโซล -

100
4800