首页 > 其他 > 详细

FFT用到的各种素数

时间:2017-07-22 10:28:52      阅读:236      评论:0      收藏:0      [点我收藏+]

技术分享

 

int MOD;
inline int mul(int a, int b){
    return (long long)a * b % MOD;
}
int power(int a, int b){
    int ret = 1;
    for (int t = a; b; b >>= 1){
        if (b & 1)ret = mul(ret, t);
        t = mul(t, t);
    }
    return ret;
}
int cal_root(int mod)
{
    int factor[20], num = 0, s = mod - 1;
    MOD = mod--;
    for (int i = 2; i * i <= s; i++){
        if (s % i == 0){
            factor[num++] = i;
            while (s % i == 0)s /= i;
        }
    }
    if (s != 1)factor[num++] = s;
    for (int i = 2;; i++){
        int j = 0;
        for (; j < num && power(i, mod / factor[j]) != 1; j++);
        if (j == num)return i;
    }
}

 

有用的表格

技术分享

技术分享

技术分享

 

 详细 http://blog.miskcoo.com/2014/07/fft-prime-table

FFT用到的各种素数

原文:http://www.cnblogs.com/zxhl/p/7220437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!