and day 25!
This commit is contained in:
parent
16784775c9
commit
f1d6903fba
54
25/main.go
Normal file
54
25/main.go
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bufio"
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
start := time.Now()
|
||||||
|
partOne()
|
||||||
|
duration := time.Since(start)
|
||||||
|
fmt.Printf("p1: %s, p2: n/a\n", duration)
|
||||||
|
}
|
||||||
|
|
||||||
|
func partOne() {
|
||||||
|
f, _ := os.Open("input")
|
||||||
|
reader := bufio.NewReader(f)
|
||||||
|
scanner := bufio.NewScanner(reader)
|
||||||
|
|
||||||
|
scanner.Scan()
|
||||||
|
doorPubKey, _ := strconv.Atoi(scanner.Text())
|
||||||
|
scanner.Scan()
|
||||||
|
cardPubKey, _ := strconv.Atoi(scanner.Text())
|
||||||
|
|
||||||
|
subjectNumber := 7
|
||||||
|
value := 1
|
||||||
|
magicPrime := 20201227
|
||||||
|
loopCount := 1
|
||||||
|
doorLoopCount := 0
|
||||||
|
cardLoopCount := 0
|
||||||
|
for {
|
||||||
|
value = (value * subjectNumber) % magicPrime
|
||||||
|
if value == doorPubKey {
|
||||||
|
doorLoopCount = loopCount
|
||||||
|
}
|
||||||
|
if value == cardPubKey {
|
||||||
|
cardLoopCount = loopCount
|
||||||
|
}
|
||||||
|
loopCount = loopCount + 1
|
||||||
|
if doorLoopCount != 0 && cardLoopCount != 0 {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
value = 1
|
||||||
|
subjectNumber = cardPubKey
|
||||||
|
for i := 0; i < doorLoopCount; i = i + 1 {
|
||||||
|
value = (value * subjectNumber) % magicPrime
|
||||||
|
}
|
||||||
|
fmt.Println(value)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user