คำอธิบาย
เขียนฟังก์ชันที่รับตัวเลข บวกเลขหลักทั้งหมด แล้วคืนค่าจำนวนเฉพาะที่มากกว่าหรือเท่ากับผลรวมนั้น
ตัวอย่างโค้ด
const num = 56563;
const digitSum = (num, sum = 0) => {
if (num) {
return digitSum(Math.floor(num / 10), sum + (num % 10));
}
return sum;
};
const isPrime = n => {
if (n === 1) return false;
if (n === 2) return true;
for (let x = 2; x < n; x++) {
if (n % x === 0) return false;
}
return true;
};
const nearestPrime = num => {
let sum = digitSum(num);
while (!isPrime(sum)) {
sum++;
}
return sum;
};
console.log(nearestPrime(num));
ผลลัพธ์
29