Compare commits
2 commits
4bedac2831
...
b8e99d9d88
Author | SHA1 | Date | |
---|---|---|---|
b8e99d9d88 | |||
44dc331f6e |
3 changed files with 80 additions and 1 deletions
|
@ -13,7 +13,7 @@ mono jour10.exe
|
|||
|-----:|------------:|------------:|----------------------:|----------------:|--:|
|
||||
| 1 | C | gcc | gcc jour1.c | ./a.out | |
|
||||
| 2 | Java | jdk 11 | javac *.java | java Main | |
|
||||
| 3 | | | | | |
|
||||
| 3 | Go | | | go run jour3.go | |
|
||||
| 4 | Python | | | python3 run.py | |
|
||||
| 5 | Cobol | gnucobol | cobc -x jour5.cob | ./jour5 | |
|
||||
| 6 | | | | | |
|
||||
|
@ -61,6 +61,12 @@ java Main
|
|||
|
||||
## Jour 3
|
||||
|
||||
Pour ce jour, le **Go** a été utilisé. Un langage qui fait beaucoup pensé au C mais aussi au Python ! Bien qu’il soit possible de compiler le fichier, j’ai utilisé la partie interpréteure du langage.
|
||||
|
||||
```bash
|
||||
go run jour3.go
|
||||
```
|
||||
|
||||
## Jour 4
|
||||
|
||||
Le langage le plus simple ! Juste un fichier d’une vingtaine de ligne : merci au **Python** ! J’ai décidé de faire une approche bruteforce au lieu de chercher un moyen de « casser » le MD5. Pardonnez ma fainéantise.
|
||||
|
|
1
jour03/input
Normal file
1
jour03/input
Normal file
File diff suppressed because one or more lines are too long
72
jour03/jour3.go
Normal file
72
jour03/jour3.go
Normal file
|
@ -0,0 +1,72 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"container/list"
|
||||
)
|
||||
|
||||
type Coord struct {
|
||||
x int
|
||||
y int
|
||||
}
|
||||
|
||||
func check(e error) {
|
||||
if e != nil {
|
||||
panic(e)
|
||||
}
|
||||
}
|
||||
|
||||
func coordDansListe(l *list.List, e Coord) (bool) {
|
||||
var tmp Coord
|
||||
for elem := l.Front(); elem != nil; elem = elem.Next() {
|
||||
tmp = Coord(elem.Value.(Coord))
|
||||
if tmp.x == e.x && tmp.y == e.y {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func p_partie(file *os.File) {
|
||||
reader := bufio.NewReader(file)
|
||||
var pred Coord
|
||||
pred.x = 0
|
||||
pred.y = 0
|
||||
nbMaison := 1
|
||||
listeMaison := list.New()
|
||||
listeMaison.PushFront(pred)
|
||||
char, _, err := reader.ReadRune()
|
||||
|
||||
for err != io.EOF {
|
||||
switch string(char) {
|
||||
case "^":
|
||||
pred.y++
|
||||
case ">":
|
||||
pred.x++
|
||||
case "<":
|
||||
pred.x--
|
||||
case "v":
|
||||
pred.y--
|
||||
}
|
||||
|
||||
if !coordDansListe(listeMaison, pred) {
|
||||
listeMaison.PushFront(pred)
|
||||
nbMaison++
|
||||
}
|
||||
char, _, err = reader.ReadRune()
|
||||
}
|
||||
fmt.Printf("Il y a %d maisons déservies\n", nbMaison)
|
||||
}
|
||||
|
||||
func main() {
|
||||
inputFile, err := os.Open("input")
|
||||
check(err)
|
||||
|
||||
p_partie(inputFile)
|
||||
|
||||
inputFile.Close()
|
||||
}
|
||||
|
Loading…
Reference in a new issue