31 lines
1.0 KiB
Plaintext
Raw Normal View History

2022-03-25 14:44:48 +03:00
module Funcs declares main, A, calc
2022-04-08 13:58:22 +03:00
export main, A, calc, calc2
2022-03-25 14:44:48 +03:00
service A("a"):
2022-04-08 13:58:22 +03:00
getJ(i: u32) -> u32
2022-03-25 14:44:48 +03:00
2022-04-08 13:58:22 +03:00
func main(log: string, []u32 -> ()) -> u32:
closure = (i: []u32, j: u32) -> u32:
2022-03-25 14:44:48 +03:00
some <- A.getJ(i[j])
<- some
2022-04-08 13:58:22 +03:00
closure2 = func (i: []u32, j: u32) -> u32:
2022-03-25 14:44:48 +03:00
some <- A.getJ(i[j])
<- some
arr = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
2022-03-25 17:15:09 +03:00
idx1 <- A.getJ(arr[A.getJ(3) + 2]) -- 5
idx2 <- A.getJ(arr[A.getJ(3) + 3] + arr[A.getJ(1) - 1] - 3) -- 3
<- A.getJ(arr[(idx1 + idx2) + closure(arr, 2) + closure2(arr, 3)]) -- should be 13
2022-03-25 14:44:48 +03:00
2022-04-08 13:58:22 +03:00
func calc(log: string, []u32 -> ()) -> u32:
2022-03-25 14:44:48 +03:00
arr = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
2022-03-25 17:15:09 +03:00
num <- A.getJ((5-2)*3-3) -- 6
2022-03-25 14:44:48 +03:00
log("calc 2", [num])
<- arr[num] -- should be 6
2022-04-08 13:58:22 +03:00
func calc2(log: string, []u32 -> ()) -> u32:
arr = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]
num <- A.getJ((5-2) * 3 - 3 ** (A.getJ(5 + 5) - A.getJ(3 ** (3 - 1)))) -- 3
<- arr[num + num - A.getJ(num) - 3] -- should be 0