Skip to content

Commit 4451cd6

Browse files
Project euler questions
1 parent 91de4b9 commit 4451cd6

File tree

4 files changed

+97
-33
lines changed

4 files changed

+97
-33
lines changed

exercises/misc/largestProduct.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*
2+
The four adjacent digits in the 1000-digit number that have the greatest product are 9 × 9 × 8 × 9 = 5832.
3+
4+
73167176531330624919225119674426574742355349194934
5+
96983520312774506326239578318016984801869478851843
6+
85861560789112949495459501737958331952853208805511
7+
12540698747158523863050715693290963295227443043557
8+
66896648950445244523161731856403098711121722383113
9+
62229893423380308135336276614282806444486645238749
10+
30358907296290491560440772390713810515859307960866
11+
70172427121883998797908792274921901699720888093776
12+
65727333001053367881220235421809751254540594752243
13+
52584907711670556013604839586446706324415722155397
14+
53697817977846174064955149290862569321978468622482
15+
83972241375657056057490261407972968652414535100474
16+
82166370484403199890008895243450658541227588666881
17+
16427171479924442928230863465674813919123162824586
18+
17866458359124566529476545682848912883142607690042
19+
24219022671055626321111109370544217506941658960408
20+
07198403850962455444362981230987879927244284909188
21+
84580156166097919133875499200524063689912560717606
22+
05886116467109405077541002256983155200055935729725
23+
71636269561882670428252483600823257530420752963450
24+
25+
Find the thirteen adjacent digits in the 1000-digit number that have the greatest product.
26+
What is the value of this product?
27+
*/
28+
29+
function findLargestProduct() {
30+
digitString =
31+
'7316717653133062491922511967442657474235534919493496983520312774506326239578318016984801869478851843858615607891129494954595017379583319528532088055111254069874715852386305071569329096329522744304355766896648950445244523161731856403098711121722383113622298934233803081353362766142828064444866452387493035890729629049156044077239071381051585930796086670172427121883998797908792274921901699720888093776657273330010533678812202354218097512545405947522435258490771167055601360483958644670632441572215539753697817977846174064955149290862569321978468622482839722413756570560574902614079729686524145351004748216637048440319989000889524345065854122758866688116427171479924442928230863465674813919123162824586178664583591245665294765456828489128831426076900422421902267105562632111110937054421750694165896040807198403850962455444362981230987879927244284909188845801561660979191338754992005240636899125607176060588611646710940507754100225698315520005593572972571636269561882670428252483600823257530420752963450';
32+
let largestProduct = 0;
33+
for (let i = 0; i < digitString.length - 13; i++) {
34+
let product = 1;
35+
36+
for (let j = i; j < i + 13; j++) {
37+
product *= parseInt(digitString[j]);
38+
}
39+
40+
if (product > largestProduct) {
41+
largestProduct = product;
42+
}
43+
}
44+
45+
return largestProduct;
46+
}

exercises/misc/primeSummation.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
3+
4+
Find the sum of all the primes below two million.
5+
*/
6+
7+
function summationPrimes() {
8+
const maxPrime = 10;
9+
let j = 2;
10+
let sum = 0;
11+
12+
for (let i = 2; i < maxPrime; i++) {
13+
while (i % j !== 0) {
14+
j++;
15+
16+
if (i === j) {
17+
sum += i;
18+
break;
19+
}
20+
}
21+
j = 2;
22+
}
23+
24+
return sum;
25+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/*
2+
A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,
3+
4+
a2 + b2 = c2
5+
For example, 32 + 42 = 9 + 16 = 25 = 52.
6+
7+
There exists exactly one Pythagorean triplet for which a + b + c = 1000.
8+
Find the product abc.
9+
*/
10+
11+
function pythagoreanTriplet() {
12+
const sum = 1000;
13+
let product = 0;
14+
15+
for (let a = 1; a <= sum / 3; a++) {
16+
for (let b = a + 1; b <= sum / 2; b++) {
17+
let c = sum - a - b;
18+
if (c * c === a * a + b * b) {
19+
product = a * b * c;
20+
break;
21+
}
22+
}
23+
}
24+
25+
return product;
26+
}

exercises/misc/test.php

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)