PROGRAM DREI1(INPUT,OUTPUT); VAR ERG,X,N:INTEGER; (*DIE OPERATIONEN ODD UND DIV SIMULIEREN IM FOLGENDEN *) (*PROGRAMM DEN INDIZIERTEN ZUGRIFF AUF DIE BITS IN DER *) (*BINAERDARSTELLUNG VON N *) (*INSGESAMT WENIGER ALS 2 LOG(N) MULTIPLIKATIONEN *) BEGIN READLN(X,N); WRITE(X,"^",N,"=") ERG:=1; WHILE N>0 DO BEGIN IF ODD(N) THEN ERG:=ERG*X; X:=X*X;N:=N DIV 2 END; WRITELN(ERG) END.