2021-05-06 21:28:40 +05:30
|
|
|
// https://projecteuler.net/problem=10
|
|
|
|
|
|
|
|
|
|
const isPrime = (number) => {
|
2021-05-08 10:37:35 +05:30
|
|
|
if (number === 2) return true
|
|
|
|
|
if (number % 2 === 0) return false
|
|
|
|
|
|
|
|
|
|
for (let j = 3; j * j <= number; j += 2) {
|
2021-05-06 21:28:40 +05:30
|
|
|
if (number % j === 0) {
|
2021-05-08 10:37:35 +05:30
|
|
|
return false
|
2021-05-06 21:28:40 +05:30
|
|
|
}
|
|
|
|
|
}
|
2021-05-08 10:37:35 +05:30
|
|
|
return true
|
2021-05-06 21:28:40 +05:30
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const calculateSumOfPrimeNumbers = (maxNumber) => {
|
|
|
|
|
let sum = 0
|
|
|
|
|
for (let i = maxNumber - 1; i >= 2; i--) {
|
2021-05-08 10:37:35 +05:30
|
|
|
if (isPrime(parseInt(i)) === true) {
|
2021-05-06 21:28:40 +05:30
|
|
|
sum += i
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return sum
|
|
|
|
|
}
|
|
|
|
|
export { calculateSumOfPrimeNumbers }
|