|
MAPLE
|
b:= proc(n) local r, M, p; r, M, p:=
<<1|0>, <0|1>>, <<0|1>, <1|1>>, n;
do if irem(p, 2, 'p')=1 then r:=
`if`(nargs=1, r.M, r.M mod args[2]) fi;
if p=0 then break fi; M:=
`if`(nargs=1, M.M, M.M mod args[2])
od; (r.<<2, 1>>)[1$2]
end:
a:= n-> (h-> b(h$2) mod h)(b(b(n))):
seq(a(n), n=0..15);
|