複素数に対して複素数で%(余り)を求めた時の結果が、ワケわかりません。
PythonのVers.は2.2.1(SJIS enhanced)。WinのKaaeditで試してます。
こんなコードで試しています。

ーーーーーーーーーー
import random

x = complex(random.choice(range(10,99)),random.choice(range(10,99)))
d=0
while not d: d = complex(random.choice(range(-9,10)),random.choice(range(-9,10)))

print '-- '*10
print 'x =',x,', d =',d

print 'x / d =',x / d
print 'x % d =',x % d

print '( x / d ) * d + x % d =',( x / d ) * d + x % d
ーーーーーーーーーーー
結果はたとえばこんな感じです。

-- -- -- -- -- -- -- -- -- --
x = (47+26j) , d = (8+6j)
x / d = (5.32-0.74j)
x % d = (7-4j)
( x / d ) * d + x % d = (54+22j)

もともと、数値をマイナスで割った時の余りってどうなるのだろうと調べてて、
複素数にまで手を出してしまいました。