FFT高精度乘法

FFT高精度乘法_第1张图片

裸FFT走一波~~~

#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
const double PI=acos(-1.0);
char s1[100005];
char s2[100005];
int ans[200005];
struct Complex
{
	double real,ima;
	Complex(double r=0.0,double i=0.0): real(r),ima(i){}
	Complex operator + (Complex &b)const
	{
		return Complex(real+b.real,ima+b.ima);
	}
	Complex operator - (Complex &b)const
	{
		return Complex(real-b.real,ima-b.ima);
	}
	Complex operator * (Complex &b)const
	{
		return Complex(real*b.real-ima*b.ima,real*b.ima+ima*b.real);
	}
};
Complex a[200005];
Complex b[200005];
Complex c[200005];
void rader(Complex* a,int len)
{
	int j=len>>1;
	for(int i=1;i>1;
		while(j>=k)
		{
			j-=k;
			k>>=1;
		}
		if(j=0;i--)
	{
		if(ans[i])
		{
			high=i;
			break;
		}
	}
	for(int i=high;i>=0;i--)
	printf("%d",ans[i]);
	return 0;
}

你可能感兴趣的:(板子,fft)