HDU 1402 大數乘法 FFT

2021-06-21 11:13:11 字數 1017 閱讀 2799

大整數乘法,給定兩個長度不超過10000的整數,返回乘法的結果。

char*multi(char* number_a, char* number_b)

有疑問歡迎提問,本人學通訊的,,手上有 數字訊號處理 書,,可以把圖搬出來解答的

#include "stdafx.h"

#include #include #include #define pi acos(-1.0)

using namespace std;

struct complex

complex operator +(const complex &a)

complex operator -(const complex &a)

complex operator *(const complex &a)

};void transaddr(complex *x, int len)

j |= k;// 第一次遇到的0變為1

// 交換互為下標碼位反轉的元素

if (i < j) }}

void fft(complex *x, int len, int factor)

// 有i+1位數,再加上\0,共需i+2個單元

char *number_c = (char*)malloc((i + 2) * sizeof(char));

char * chrptr = number_c;

for (; i >= 0; i--)

*chrptr = '\0';

free(cmplx_a); free(cmplx_b); free(product);

return number_c;

}int _tmain(int argc, _tchar* argv) {

char *number_a = "9999";

char *number_b = "9999";

char *number_c = multi(number_a, number_b);

cout << number_c <

FFT的迭代程式實現 hdu1402

快速傅利葉變換fft的迭代實現 描述了最簡單的fft的迭代實現,在此基礎上可以用它進行大整數乘法或者多項式乘法。不過,還需要考慮idft的快速實現。idft有2種實現方式。第一種仿照fft,觀察idft的定義式,和dft的定義本質上沒有區別,利用單位復根的性質可以寫出ifft。第二種方法則利用共軛的...

HDU 1402 FFT模板題,求大數乘法

這兩天剛開始看fft,有點雲裡霧裡的,今天看了個模板題,覺得這位聚聚寫得特別好,總算是看懂了多項式相乘之類的運算,存一下。好點複雜一點的演算法,資料結構都不知道,還要慢慢學習。fft模板 define l x 1 x const double pi acos 1.0 const int maxn 1...

hdu1042(大數乘法 )

計算n!1 n 10000 在去南昌icpc邀請賽之前,勳宇帶著我們做過大數的題,剛好也是這個題。而我影響最深刻的就是運用到萬進製,顧名思義,以一萬為進製,因為n!是個很大的數,所以只能用陣列去存。需要注意的是列印時,倒敘且 04d,不足的用零去補。附上 include include void f...