小编Che*_*omp的帖子

为正整数找到 2 的质因数分解的最有效方法

我正在用 C 编写代码,并希望找出最有效的方法来确定 2 除以一个数字的次数;即 5 = 0, 8 = 3。我的问题是,对于这段代码,我利用按位运算来加速运行时,总体代码是O(log N),有什么计算或分析可以优化这段代码吗?

int Prime_Factor_Two(int n) {
    int k = 0;
    while(~(n&1) + 2){
        n = n >> 1;
        k +=1;
    }
    return k;
}
Run Code Online (Sandbox Code Playgroud)

c optimization

5
推荐指数
0
解决办法
130
查看次数

标签 统计

c ×1

optimization ×1