Skip to content

Commit c9bb0ac

Browse files
committed
Added problems 2 and 3
1 parent 8c4ebbd commit c9bb0ac

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ My solutions for Project Euler problems
99
| Problem | Title | Solution|
1010
|---------|-------|---------|
1111
|1|[Multiples of 3 and 5](https://projecteuler.net/problem=1)|[Python](./python/problem-001.py), [Java](./java/problem-1.java), [Go](./go/problem-001/problem-001.go)|
12-
|2|[Even Fibonacci Numbers](https://projecteuler.net/problem=2)|[Python](./python/problem-002.py), [Java](./java/problem-2.java)|
13-
|3|[Largest Prime Factor](https://projecteuler.net/problem=3)|[Python](./python/problem-003.py), [Java](./java/problem-3.java)|
12+
|2|[Even Fibonacci Numbers](https://projecteuler.net/problem=2)|[Python](./python/problem-002.py), [Java](./java/problem-2.java), [Go](./go/problem-002/problem-002.go)|
13+
|3|[Largest Prime Factor](https://projecteuler.net/problem=3)|[Python](./python/problem-003.py), [Java](./java/problem-3.java), [Go](./go/problem-003/problem-003.go)|
1414
|4|[Largest Palindrome Product](https://projecteuler.net/problem=4)|[Python](./python/problem-004.py), [Java](./java/problem-4.java)|
1515
|5|[Smallest Multiple](https://projecteuler.net/problem=5)|[Python](./python/problem-005/py), [Java](./java/problem-5.java)|
1616
|6|[Sum Square Difference](https://projecteuler.net/problem=6)|[Python](./python/problem-006.py), [Java](./java/problem-6.java)|

go/problem-002/problem-002.go

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package main
2+
3+
import "fmt"
4+
5+
func main() {
6+
curr := 1
7+
prev := 1
8+
sumValues := 0
9+
10+
for curr <= 4000000 {
11+
if curr%2 == 0 {
12+
sumValues += curr
13+
}
14+
curr += prev
15+
prev = curr - prev
16+
}
17+
18+
fmt.Printf("The sum of fibonacci numbers below 4,000,000 is %d\n", sumValues)
19+
}

go/problem-003/problem-003.go

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"math"
6+
)
7+
8+
func isPrime(n int) bool {
9+
if n < 2 {
10+
return false
11+
} else if n == 2 {
12+
return true
13+
} else {
14+
for i := 2; i*i <= n; i++ {
15+
if n%i == 0 {
16+
return false
17+
}
18+
}
19+
}
20+
return true
21+
}
22+
23+
func main() {
24+
startValue := int(math.Floor(math.Sqrt(600851475143)))
25+
largestFactor := 0
26+
27+
for startValue > 0 {
28+
if 600851475143%startValue == 0 && isPrime(startValue) {
29+
largestFactor = int(startValue)
30+
break
31+
}
32+
startValue -= 1
33+
}
34+
35+
fmt.Printf("Largest prime factor of 600851475143 is %d\n", largestFactor)
36+
}

0 commit comments

Comments
 (0)