Мой метод использует теорему Де Мойвра для возведения комплексного числа a + bi в степень. Однако я не получаю правильных ответов.
Я дважды проверил всю математику, и, похоже, все в порядке, поэтому я думаю, что, возможно, я неправильно сделал свой код.
public class ComplexNumber {
//instance variables
private int real;
private int imaginary;
//constructors
public ComplexNumber(int a, int b) {
real = a;
imaginary = b;
//methods
public ComplexNumber pow(int x) {
int z = (int) Math.pow(this.getModulus(),x);
int T = (int) Math.atan(this.imaginary/this.real);
int a = (int) (z * Math.cos(x*T));
int b = (int) (z * Math.sin(x*T));
return new ComplexNumber(a, b);
}
public double getModulus() {
int z = (int) Math.sqrt(real*real + imaginary*imaginary);
return z;
}
Например, для комплексного числа 3 + 4i, возведенного в 1-ую степень, я получаю 5 + 0i.