JSFHexpor :=proc(a,n) local aa,res,nn ; res := 1 ; nn := n ; aa :=a ; while(nn>0) do if type(nn,odd) then res :=res*aa ;nn :=nn-1 ; else aa :=aa*aa ;nn :=nn/2 ; end if ; od ; res ;end proc ;expor(2,8);exporec:=proc(a,n) local p,y ; if n=0 then 1 else p :=n mod 2 ; y :=a*a ; if p=0 then exporec(y,n/2) else a*exporec(y,(n-1)/2) end if; end if; end proc ;exporec(2,8);JSFH