41 lines
785 B
Go

package main
import "fmt"
func main() {
var dividerr int64 = 20201227
// var cardPKey int64 = 5764801
// var doorPKey int64 = 17807724
var cardPKey int64 = 16915772
var doorPKey int64 = 18447943
var cardValue int64 = 1
var cardLoopSize int64 = 0
for cardValue != cardPKey {
cardValue *= 7 // Subject number
cardValue = cardValue % dividerr
cardLoopSize++
}
var doorValue int64 = 1
var doorLoopSize int64 = 0
for doorValue != doorPKey {
doorValue *= 7 // Subject number
doorValue = doorValue % dividerr
doorLoopSize++
}
var part1 int64 = 1
var i int64 = 0
for i = 0; i < cardLoopSize; i++ {
part1 *= doorPKey
part1 = part1 % dividerr
}
fmt.Printf("Part 1: %d %d %d\n", cardLoopSize, doorLoopSize, part1)
}