You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
1.2 KiB

package main
import (
"./student"
"github.com/01-edu/public/go/lib"
)
func more(a, b int) int {
if a < b {
return b
}
return a
}
func max(a, b, c, d int) int {
if a >= b && a >= c && a >= d {
return a
}
if b >= a && b >= c && b >= d {
return b
}
if c >= a && c >= b && c >= d {
return c
}
if d >= a && d >= b && d >= c {
return d
}
return -1
}
func reviveThreeNums(a, b, c, d int) int {
maxi := -111
if a != max(a, b, c, d) {
maxi = more(maxi, max(a, b, c, d)-a)
}
if b != max(a, b, c, d) {
maxi = more(maxi, max(a, b, c, d)-b)
}
if c != max(a, b, c, d) {
maxi = more(maxi, max(a, b, c, d)-c)
}
if d != max(a, b, c, d) {
maxi = more(maxi, max(a, b, c, d)-d)
}
return maxi
}
func main() {
table := [][4]int{
{3, 6, 5, 4},
{40, 40, 40, 60},
{201, 101, 101, 200},
}
for i := 0; i < 25; i++ {
first := lib.RandIntBetween(0, 877)
second := lib.RandIntBetween(0, 877)
third := lib.RandIntBetween(0, 877)
table = append(table, [4]int{
first + second,
second + third,
first + third,
first + second + third,
})
}
for _, arg := range table {
lib.Challenge("Revivethreenums", student.ReviveThreeNums, reviveThreeNums, arg[0], arg[1], arg[2], arg[3])
}
}