#include #include typedef double _Complex c; void pc(c a){printf("%14.7e + %14.7ei\n", __real__ a, __imag__ a);} c Sqrt(c x){ double A = __real__ x, B = __imag__ x; if(A < 0) return 1.i* Sqrt(-x); {double r = sqrt((A + sqrt(A*A + B*B))/2); return r + 1i*(B/(2*r));}} void fft(c a[], const int n){ {int j=0, i; for(i=0; i