2017 Day 23 Complete

This commit is contained in:
2017-12-23 09:01:32 -06:00
parent d16cc22158
commit 6c4e6ec824
8 changed files with 387 additions and 268 deletions

54
2017/day23/day23-part2.go Normal file
View File

@@ -0,0 +1,54 @@
package main
import (
"fmt"
"math"
)
func main() {
var a, b, c, d, e, f, g, h int
// Suppress go warnings
_, _, _, _, _, _, _, _ = a, b, c, d, e, f, g, h
// Derived from test.go
b = 109900
c = 126900
// Unoptimized:
/*
for ; b < c+1; b += 17 {
f = 1
for d = 2; d < b+1; d++ {
for e = 2; e < b+1; e++ {
if d*e == b {
f = 0
}
}
}
// When is f 0?
// when d*e == b for "certain values" of b
fmt.Println(d, e, b)
if f == 0 {
h++
}
// b = 109900
}
*/
// Optimized
for ; b < c+1; b += 17 {
if !IsPrime(b) {
h++
}
}
fmt.Println(h)
}
func IsPrime(value int) bool {
for i := 2; i <= int(math.Floor(float64(value)/2)); i++ {
if value%i == 0 {
return false
}
}
return value > 1
}