码迷,mamicode.com
首页 > 其他好文 > 详细

【模板】【数学】线性筛求莫比乌斯函数

时间:2020-01-31 15:51:26      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:pre   code   ++   break   init   color   nbsp   eof   sizeof   

void init(){           //莫比乌斯函数线性筛
    memset( prime , 0 , sizeof(prime) );
    memset( mu , 0 , sizeof(mu) );
    memset( vis , 0 , sizeof(vis) );
    mu[1] = 1 ;
    cnt = 0 ;
    for( int i = 2 ; i < AX ; i++ ){
        if( !vis[i] ){
            prime[cnt++] = i ;
            mu[i] = -1;
        }
        for( int j = 0 ; j < cnt && i * prime[j] < AX ; j++ ){
            vis[i*prime[j]] = 1 ;
            if( i % prime[j] ){
                mu[i*prime[j]] = -mu[i];
            }else{
                mu[i*prime[j]] = 0 ;
                break;
            }
        }
    }
}

 

【模板】【数学】线性筛求莫比乌斯函数

标签:pre   code   ++   break   init   color   nbsp   eof   sizeof   

原文地址:https://www.cnblogs.com/xiaobuxie/p/12245537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!