$1=K*K # $1 := K**2+1; $1=$1+1 $0=K # $0 := K; $2=1 # $2 := 1; $3=N/K # $3 := N/K; while$0<=$3 # if $0<=(N/K): $2=$0 # $1,$0,$2 := ($1*K+$0),($1),($0); $0=$1 $1=$0*K $1=$1+$2 end # end if$0<=N # if $0<=N: $3=N/$0 # $3 := N/$0+1; $3=$3+1 $1=$1*$3 # $1 := $1*$3+$0; $1=$1+$0 $0=$0*$3 # $0 := $0*$3+$2; $0=$0+$2 end # end $2=$0*N # $2 := $0*N; $3=$1-$0 ifM==0 # if M==0: $3=$3+K # $2 := $2-($1-$0+K-1)/K; $3=$3-1 $3=$3/K $2=$2-$3 end # end ifM>0 # if M>0: $4=M-1 # $4 := M-1; $5=$3/K # $2 := $2+(($1-$0)/K)*(M-1); $5=$5*$4 $2=$2+$5 $3=$3%K # $2 := $2+(($1-$0)%K)*(M-1)/K; $3=$3*$4 $3=$3/K $2=$2+$3 end # end $0=$2/$1 # $0 := $2/$1+N; $0=$0+N return$0 # return $0;