Skip to content

Commit 0fab492

Browse files
appgurueugithub-actions
andauthored
fix: Project Euler P35 off-by-one error (TheAlgorithms#1238)
* fix: Project Euler P35 off-by-one error * Updated Documentation in README.md Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
1 parent 5364a1c commit 0fab492

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

DIRECTORY.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
* [LocalMaximomPoint](Data-Structures/Array/LocalMaximomPoint.js)
5858
* [NumberOfLocalMaximumPoints](Data-Structures/Array/NumberOfLocalMaximumPoints.js)
5959
* [QuickSelect](Data-Structures/Array/QuickSelect.js)
60+
* [Reverse](Data-Structures/Array/Reverse.js)
6061
* **Graph**
6162
* [Graph](Data-Structures/Graph/Graph.js)
6263
* [Graph2](Data-Structures/Graph/Graph2.js)
@@ -81,6 +82,7 @@
8182
* **Tree**
8283
* [AVLTree](Data-Structures/Tree/AVLTree.js)
8384
* [BinarySearchTree](Data-Structures/Tree/BinarySearchTree.js)
85+
* [SegmentTree](Data-Structures/Tree/SegmentTree.js)
8486
* [Trie](Data-Structures/Tree/Trie.js)
8587
* **Vectors**
8688
* [Vector2](Data-Structures/Vectors/Vector2.js)
@@ -105,18 +107,19 @@
105107
* [RodCutting](Dynamic-Programming/RodCutting.js)
106108
* [Shuf](Dynamic-Programming/Shuf.js)
107109
* [SieveOfEratosthenes](Dynamic-Programming/SieveOfEratosthenes.js)
108-
* [UniquePaths](Dynamic-Programming/UniquePaths.js)
109110
* **Sliding-Window**
110111
* [LongestSubstringWithoutRepeatingCharacters](Dynamic-Programming/Sliding-Window/LongestSubstringWithoutRepeatingCharacters.js)
111112
* [PermutationinString](Dynamic-Programming/Sliding-Window/PermutationinString.js)
112113
* [SudokuSolver](Dynamic-Programming/SudokuSolver.js)
113114
* [TrappingRainWater](Dynamic-Programming/TrappingRainWater.js)
114115
* [TribonacciNumber](Dynamic-Programming/TribonacciNumber.js)
116+
* [UniquePaths](Dynamic-Programming/UniquePaths.js)
115117
* [ZeroOneKnapsack](Dynamic-Programming/ZeroOneKnapsack.js)
116118
* **Geometry**
117119
* [ConvexHullGraham](Geometry/ConvexHullGraham.js)
118120
* **Graphs**
119121
* [BellmanFord](Graphs/BellmanFord.js)
122+
* [BinaryLifting](Graphs/BinaryLifting.js)
120123
* [BreadthFirstSearch](Graphs/BreadthFirstSearch.js)
121124
* [BreadthFirstShortestPath](Graphs/BreadthFirstShortestPath.js)
122125
* [ConnectedComponents](Graphs/ConnectedComponents.js)
@@ -126,6 +129,7 @@
126129
* [Dijkstra](Graphs/Dijkstra.js)
127130
* [DijkstraSmallestPath](Graphs/DijkstraSmallestPath.js)
128131
* [FloydWarshall](Graphs/FloydWarshall.js)
132+
* [Kosaraju](Graphs/Kosaraju.js)
129133
* [KruskalMST](Graphs/KruskalMST.js)
130134
* [NodeNeighbors](Graphs/NodeNeighbors.js)
131135
* [NumberOfIslands](Graphs/NumberOfIslands.js)
@@ -158,6 +162,7 @@
158162
* [EulerMethod](Maths/EulerMethod.js)
159163
* [EulersTotient](Maths/EulersTotient.js)
160164
* [EulersTotientFunction](Maths/EulersTotientFunction.js)
165+
* [ExponentialFunction](Maths/ExponentialFunction.js)
161166
* [ExtendedEuclideanGCD](Maths/ExtendedEuclideanGCD.js)
162167
* [Factorial](Maths/Factorial.js)
163168
* [Factors](Maths/Factors.js)
@@ -190,6 +195,7 @@
190195
* [MeanSquareError](Maths/MeanSquareError.js)
191196
* [MidpointIntegration](Maths/MidpointIntegration.js)
192197
* [MobiusFunction](Maths/MobiusFunction.js)
198+
* [ModularArithmetic](Maths/ModularArithmetic.js)
193199
* [ModularBinaryExponentiationRecursive](Maths/ModularBinaryExponentiationRecursive.js)
194200
* [NumberOfDigits](Maths/NumberOfDigits.js)
195201
* [Palindrome](Maths/Palindrome.js)
@@ -209,6 +215,7 @@
209215
* [ReversePolishNotation](Maths/ReversePolishNotation.js)
210216
* [ShorsAlgorithm](Maths/ShorsAlgorithm.js)
211217
* [SieveOfEratosthenes](Maths/SieveOfEratosthenes.js)
218+
* [SieveOfEratosthenesIntArray](Maths/SieveOfEratosthenesIntArray.js)
212219
* [SimpsonIntegration](Maths/SimpsonIntegration.js)
213220
* [Softmax](Maths/Softmax.js)
214221
* [SquareRoot](Maths/SquareRoot.js)
@@ -243,6 +250,7 @@
243250
* [Problem023](Project-Euler/Problem023.js)
244251
* [Problem025](Project-Euler/Problem025.js)
245252
* [Problem028](Project-Euler/Problem028.js)
253+
* [Problem035](Project-Euler/Problem035.js)
246254
* [Problem044](Project-Euler/Problem044.js)
247255
* **Recursive**
248256
* [BinaryEquivalent](Recursive/BinaryEquivalent.js)
@@ -317,6 +325,7 @@
317325
* [CheckRearrangePalindrome](String/CheckRearrangePalindrome.js)
318326
* [CheckSnakeCase](String/CheckSnakeCase.js)
319327
* [CheckWordOccurrence](String/CheckWordOccurrence.js)
328+
* [CountLetters](String/CountLetters.js)
320329
* [CountSubstrings](String/CountSubstrings.js)
321330
* [CountVowels](String/CountVowels.js)
322331
* [CreatePermutations](String/CreatePermutations.js)

Project-Euler/Problem035.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ function problem35 (n) {
1515
if (n < 2) {
1616
throw new Error('Invalid input')
1717
}
18-
const list = sieveOfEratosthenes(n).filter(prime => !prime.toString().match(/[024568]/)) // Get a list of primes without 0, 2, 4, 5, 6, 8
18+
// Get a list of primes without 0, 2, 4, 5, 6, 8; this discards the circular primes 2 & 5
19+
const list = sieveOfEratosthenes(n).filter(prime => !prime.toString().match(/[024568]/))
1920

2021
const result = list.filter((number, _idx, arr) => {
2122
const str = String(number)
@@ -28,7 +29,7 @@ function problem35 (n) {
2829
return true // If all rotations are prime, then the number is circular prime
2930
})
3031

31-
return result.length + 1 // Add 2 to the result because 2 is a circular prime
32+
return result.length + 2 // Add 2 to the result because the circular primes 2 & 5 were discarded
3233
}
3334

3435
export { problem35 }

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy