"CODE" 31204; "PROCEDURE" LNG INT POWER(U,EXPONENT,RESULT); "VALUE" EXPONENT; "INTEGER" EXPONENT; "INTEGER""ARRAY" U,RESULT; "BEGIN""INTEGER" MAX,I,N; MAX:=U[0] * EXPONENT; "BEGIN""INTEGER""ARRAY" Y,Z,H[0:MAX]; "COMMENT" Y:=1, Z:=U; Y[0]:=Y[1]:=1; "FOR" I:=U[0] "STEP" -1 "UNTIL" 0 "DO" Z[I]:=U[I]; HALVE: N:=EXPONENT//2; "IF" N+N=EXPONENT "THEN" "GOTO" SQUARE Z; LNG INT MULT(Y,Z,H); "FOR" I:=H[0] "STEP" -1 "UNTIL" 0 "DO" Y[I]:=H[I]; "IF" N=0 "THEN" "GOTO" READY; SQUARE Z: LNG INT MULT(Z,Z,H); "FOR" I:=H[0] "STEP" -1 "UNTIL" 0 "DO" Z[I]:=H[I]; EXPONENT:=N; "GOTO"HALVE; READY: "FOR" I:=Y[0] "STEP" -1 "UNTIL" 0 "DO" RESULT[I]:=Y[I] "END" "END" LNG INT POWER; "EOP"