Initial Commit
This commit is contained in:
commit
335a821ed9
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
p1.1/p1.1
|
||||||
|
p1.2/p1.2
|
43
p1.1/main.go
Normal file
43
p1.1/main.go
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
if len(os.Args) < 4 {
|
||||||
|
fmt.Println("Usage: p1.1 x y z")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
x, y, z := atoi(os.Args[1]), atoi(os.Args[2]), atoi(os.Args[3])
|
||||||
|
i, v1, v2 := 1, x, x-y
|
||||||
|
fmt.Println(z, v1, v2)
|
||||||
|
for i = 1; ; i = i + 2 {
|
||||||
|
if z == v1 {
|
||||||
|
done(i)
|
||||||
|
} else if z == v2 {
|
||||||
|
done(i + 1)
|
||||||
|
} else if z < v1 && z < v2 {
|
||||||
|
done(-1)
|
||||||
|
}
|
||||||
|
v1 = v1 + x - y
|
||||||
|
v2 = v2 + x - y
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func done(v int) {
|
||||||
|
fmt.Println(v)
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func atoi(v string) int {
|
||||||
|
i, err := strconv.Atoi(v)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Invalid integer given: " + v)
|
||||||
|
}
|
||||||
|
return i
|
||||||
|
}
|
53
p1.2/main.go
Normal file
53
p1.2/main.go
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
if len(os.Args) < 3 {
|
||||||
|
log.Fatal("Usage: p1.2 length list...")
|
||||||
|
}
|
||||||
|
length := atoi(os.Args[1])
|
||||||
|
var list []int
|
||||||
|
var top, topIdx, numTop int
|
||||||
|
for idx, v := range os.Args[2:] {
|
||||||
|
wrk := atoi(v)
|
||||||
|
list = append(list, wrk)
|
||||||
|
if wrk == top {
|
||||||
|
numTop++
|
||||||
|
if numTop <= 3 {
|
||||||
|
topIdx = idx
|
||||||
|
}
|
||||||
|
} else if wrk > top {
|
||||||
|
top = wrk
|
||||||
|
numTop = 1
|
||||||
|
topIdx = idx
|
||||||
|
}
|
||||||
|
if len(list) == length {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for idx, v := range list {
|
||||||
|
if idx != topIdx {
|
||||||
|
fmt.Print(v, " ")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fmt.Print("\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
func done(v int) {
|
||||||
|
fmt.Println(v)
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func atoi(v string) int {
|
||||||
|
i, err := strconv.Atoi(v)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal("Invalid integer given: " + v)
|
||||||
|
}
|
||||||
|
return i
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user