1
0
Fork 0
mirror of synced 2025-09-23 12:18:44 +00:00
ZoKrates/zokrates_cli/examples/n_choose_k.zok
2020-11-09 18:04:28 +00:00

14 lines
404 B
Text

import "utils/casts/u32_to_field" as to_field
// Binomial Coeffizient, n!/(k!*(n-k)!).
def fac(field x) -> field:
field f = 1
field counter = 0
for u32 i in 1..100 do
f = if counter == x then f else f * to_field(i) fi
counter = if counter == x then counter else counter + 1 fi
endfor
return f
def main(field n, field k) -> field:
return fac(n)/(fac(k)*fac(n-k))