-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathproject_euler_3.js
53 lines (42 loc) · 1.07 KB
/
project_euler_3.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself.
// Recursive Solution
// exports.largestPrimeFactor = function(n) {
// var primeNumber = 0;
// function find_highest_prime_factor(n) {
// var max = Math.round(Math.sqrt(n));
// for (var i = max; i >= 2; i--) {
// if (n % i == 0 && find_highest_prime_factor(i) == 1) {
// return i;
// }
// }
// return 1;
// }
// primeNumber = find_highest_prime_factor(n);
// return primeNumber;
// }
exports.largestPrimeFactor = function(n) {
function isPrime(value) {
for (var i = 2; i < value; i++) {
if (value % i === 0) {
return false;
}
}
return value > 1;
}
var primeNumber = 0;
function largestPrimeFact(n) {
var i = 2
while ( i <= n ) {
if ( n % i === 0 ) {
n /= i;
if ( isPrime(i) ) {
primeNumber = i;
}
}
i++;
}
return primeNumber;
}
primeNumber = largestPrimeFact(n);
return primeNumber;
}