\mnb150ÿ{\rtf1\ansi\deff0\deftab720{\fonttbl{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fprq2 System;}{\f3\froman\fcharset1 Times New Roman;}{\f4\fmodern\fprq1 Courier New;}} {\colortbl\red0\green0\blue0;\red255\green0\blue0;\red0\green0\blue255;} \deflang1031\pard\ri4\plain\f3\fs22\cf0 01. \par \pard\li300\ri5\fi-300{\*\pn\pnlvlblt\pnf1\pnindent300{\pntxtb\'b7}}\plain\f4\fs22\cf1 {\pntext\f1\'b7\tab}IntegerExponent:=proc(p,a) \par \pard\li600\ri1\fi-300\plain\f4\fs22\cf1 local exponent,c; \par begin \par exponent:=-1; \par c:=p; \par while testtype(c,Type::Integer) do \par c:=c/a; \par exponent:=exponent+1; \par end_while; \par exponent; \par end_proc: \par \par RabinMillerPrime:=proc(p) \par local a,rnd,s,u,fertig,potenz; \par begin \par s:=IntegerExponent(p-1,2); \par u:=(p-1)/2^s; \par if args(0)>1 \par then a:=args(2); \par else rnd:=random(2..p-1); \par a:=rnd(); \par end_if; \par potenz:=powermod(a,u,p); \par if potenz=1 \par then if p<10^10 \par then print(_concat("Die Zahl ",p," ist strenge Pseudoprimzahl zur Basis ",a,".")) \par else print(_concat("Die eingegebene Zahl ist strenge Pseudoprimzahl zur Basis",a,".")) \par end_if; \par return(TRUE); \par end_if; \par fertig:=FALSE: \par while not fertig and u