Magic numbers: Difference between revisions

Line 176:
let fG (n:int []) g=let rec fN g=if g<digs[10] then n[int g]<-n[int g]-1 else n[int(g%digs[10])]<-n[int(g%digs[10])]-1; fN (g/digs[10])
fN g; Array.forall ((=)0) n
//let magic=Array.unfold(fun(n,g)->match n with []->None |n->let n=fN n g in Some(n,(n,g+digs[1])))([digs[1]..digs[9]],digs[2])
let magic=Array.append [|[digs[0]..digs[9]]|] (Array.unfold(fun(n,g)->match n with []->None |n->let n=fN n g in Some(n,(n,g+digs[1])))([digs[1]..digs[9]],digs[2]))
printfn $"There are %d{magic|>Array.sumBy(List.length)} Magic numbers"
2,171

edits