ω \omega ω 的计算
ω n 1 \omega_n^1 ωn1 的计算
考虑单位圆,
ω
n
1
\omega_n^1
ωn1 为:

也就是:

注:op为判断当前为dft还是idft
ω n i \omega_n^i ωni 的计算
当要计算 ω n i \omega_n^i ωni 时,只需要在 ω n i − 1 \omega_n^{i-1} ωni−1 基础上乘 ω n 1 \omega_n^1 ωn1 即可
初始时实现奇偶翻转
转化为二进制反正
在程序开始,可以先进行好翻转。
- 初始:
0 1 2 3 4 5 6 7 - 最终:
0 4 2 6 1 5 3 7
发现其实是对二进制进行翻转,考虑其最后一位的翻转过程:

先对前面进行翻转,再补上第一位:

翻转对称性
可以发现,翻转过程具有对称性,所以可以直接暴力翻转:

![NSS [NUSTCTF 2022 新生赛]Ezjava1](https://img-blog.csdnimg.cn/img_convert/b2e6f2a3111d26a1d8e79ddf19b90b2b.png)









![[C/C++]函数的栈空间(避免栈空间溢出)](https://img-blog.csdnimg.cn/cdb2ef309d7f4cd3a6e4d99918bcb5f5.png)








