real +
(if (imag
>= 0) "+" else "") + imag +
"i" def +
(other
: ComplexInt
) = new ComplexInt
(real + other.
real, imag + other.
imag) def -
(other
: ComplexInt
) = new ComplexInt
(real - other.
real, imag - other.
imag) }
}
def main
(args
: Array
[String
]) { println(a)
println(a - 1) // (2 + 3i) - 1
println(1 - a) // 1 - (2 + 3i)
}
}
Y2xhc3MgQ29tcGxleEludCh2YWwgcmVhbDogSW50LCB2YWwgaW1hZzogSW50KSB7CiAgb3ZlcnJpZGUgZGVmIHRvU3RyaW5nID0KICAgIHJlYWwgKyAoaWYgKGltYWcgPj0gMCkgIisiIGVsc2UgIiIpICsgaW1hZyArICJpIgogIGRlZiArKG90aGVyOiBDb21wbGV4SW50KSA9CiAgICBuZXcgQ29tcGxleEludChyZWFsICsgb3RoZXIucmVhbCwgaW1hZyArIG90aGVyLmltYWcpCiAgZGVmIC0ob3RoZXI6IENvbXBsZXhJbnQpID0KICAgIG5ldyBDb21wbGV4SW50KHJlYWwgLSBvdGhlci5yZWFsLCBpbWFnIC0gb3RoZXIuaW1hZykKfQoKb2JqZWN0IENvbXBsZXhJbnQgewogIGltcGxpY2l0IGNsYXNzIENvbXBsZXhJbnRSZWFsKHJlYWw6IEludCkgZXh0ZW5kcyBDb21wbGV4SW50KHJlYWwsIDApIHt9Cn0KCm9iamVjdCBNYWluIHsKICBkZWYgbWFpbihhcmdzOiBBcnJheVtTdHJpbmddKSB7CiAgICB2YWwgYSA9IG5ldyBDb21wbGV4SW50KDIsIDMpCiAgICBwcmludGxuKGEpCiAgICBwcmludGxuKGEgLSAxKSAvLyAoMiArIDNpKSAtIDEKICAgIHByaW50bG4oMSAtIGEpIC8vIDEgLSAoMiArIDNpKQogIH0KfQo=