Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm số Gapful trong JavaScript

Một số được gọi là Gapful nếu nó có ít nhất 3 chữ số và chia hết cho số được tạo bằng cách ghép chữ số đầu và chữ số cuối. Số nhỏ nhất thỏa mãn là 100 (chữ số đầu 1, cuối 0 → 10, và 100 chia hết cho 10).

Yêu cầu: tạo hàm nhận một số n và trả về số Gapful gần nhất (bao gồm chính nó). Nếu có 2 số Gapful cách đều nhau, trả về số nhỏ hơn.

Ví dụ:

gapful(25) ➞ 100
gapful(100) ➞ 100
gapful(103) ➞ 105

Ví dụ

Mã thực hiện:

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

Kết quả

Kết quả in ra console:

100 4800