Chúng ta cần viết hàm nhận vào một số, tính tổng các chữ số và trả về số nguyên tố lớn nhất hoặc bằng tổng đó.
Ví dụ
Dưới đây là đoạn code:
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;
}else if(n === 2){
return true;
}else{
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));Kết quả
Đoạn code sẽ in ra console:
29