120 lines
1.6 KiB
Plaintext
120 lines
1.6 KiB
Plaintext
func main(a) {
|
|
// Nudge away from 50
|
|
a = a > 50 ? b(a, 4) : c(a, 4)
|
|
|
|
print("a: ")
|
|
// Cap to range [0, 100]
|
|
a = a > 100
|
|
? i(100)
|
|
: (a < 0
|
|
? i(0)
|
|
: i(a))
|
|
|
|
// Round to nearest 10
|
|
print("b: ")
|
|
var b = a >= 55
|
|
? (a >= 75
|
|
? (a >= 95
|
|
? i(100)
|
|
: (a >= 85
|
|
? i(90)
|
|
: i(80)))
|
|
: (a >= 65
|
|
? i(70)
|
|
: i(60)))
|
|
: (a >= 25
|
|
? (a >= 45
|
|
? i(50)
|
|
: (a >= 35
|
|
? i(40)
|
|
: i(30)))
|
|
: (a >= 15
|
|
? i(20)
|
|
: (a >= 5
|
|
? i(10)
|
|
: i(0))))
|
|
println("b: ", b)
|
|
}
|
|
|
|
func b(x, y) {
|
|
println("Inside b(", x, ", ", y, ")")
|
|
return x + y
|
|
}
|
|
|
|
func c(x, y) {
|
|
println("Inside c(", x, ", ", y, ")")
|
|
return x - y
|
|
}
|
|
|
|
// Identity function
|
|
func i(value) {
|
|
println(value)
|
|
return value
|
|
}
|
|
|
|
//TESTCASE: 97
|
|
//Inside b(97, 4)
|
|
//a: 100
|
|
//b: 100
|
|
//b: 100
|
|
|
|
//TESTCASE: 82
|
|
//Inside b(82, 4)
|
|
//a: 86
|
|
//b: 90
|
|
//b: 90
|
|
|
|
//TESTCASE: 80
|
|
//Inside b(80, 4)
|
|
//a: 84
|
|
//b: 80
|
|
//b: 80
|
|
|
|
//TESTCASE: 68
|
|
//Inside b(68, 4)
|
|
//a: 72
|
|
//b: 70
|
|
//b: 70
|
|
|
|
//TESTCASE: 51
|
|
//Inside b(51, 4)
|
|
//a: 55
|
|
//b: 60
|
|
//b: 60
|
|
|
|
//TESTCASE: 50
|
|
//Inside c(50, 4)
|
|
//a: 46
|
|
//b: 50
|
|
//b: 50
|
|
|
|
//TESTCASE: 44
|
|
//Inside c(44, 4)
|
|
//a: 40
|
|
//b: 40
|
|
//b: 40
|
|
|
|
//TESTCASE: 32
|
|
//Inside c(32, 4)
|
|
//a: 28
|
|
//b: 30
|
|
//b: 30
|
|
|
|
//TESTCASE: 28
|
|
//Inside c(28, 4)
|
|
//a: 24
|
|
//b: 20
|
|
//b: 20
|
|
|
|
//TESTCASE: 9
|
|
//Inside c(9, 4)
|
|
//a: 5
|
|
//b: 10
|
|
//b: 10
|
|
|
|
//TESTCASE: 2
|
|
//Inside c(2, 4)
|
|
//a: 0
|
|
//b: 0
|
|
//b: 0
|