相关疑难解决方法(0)

如何找到0到100之间的素数?

在Javascript中我怎么能找到0到100之间的素数?我已经考虑过了,我不知道如何找到它们.我想做x%x,但我发现了明显的问题.这是我到目前为止所做的:但不幸的是,这是有史以来最糟糕的代码.

var prime = function (){
var num;
for (num = 0; num < 101; num++){
    if (num % 2 === 0){
        break;
    }
    else if (num % 3 === 0){
        break;
    }
    else if (num % 4=== 0){
        break;
    }
    else if (num % 5 === 0){
        break;
    }
    else if (num % 6 === 0){
        break;
    }
    else if (num % 7 === 0){
        break;
    }
    else if (num % 8 === 0){
        break;
    }
    else if (num …
Run Code Online (Sandbox Code Playgroud)

javascript math primes

51
推荐指数
6
解决办法
15万
查看次数

线性时间Euler的Totient函数计算

在浏览了一下之后,我发现这个代码用于使用Sieve of Eratostenes在线性时间内计算Euler的phi值.但是没能理解这个代码中使用的主要逻辑,特别是在内部for循环和在这个循环中使用的想法中做了什么.计算phi值.如果有人帮我理解这段代码会很有帮助.

#define MAXN 3000000
int phi[MAXN + 1], prime[MAXN/10], sz;
bitset <MAXN + 1> mark;

for (int i = 2; i <= MAXN; i++ ){
   if(!mark[i]){
      phi[i] = i-1;
      prime[sz++]= i;
   }
    for (int j=0; j<sz && prime[j]*i <= MAXN; j++ ){
            mark[prime[j]*i]=1;
            if(i%prime[j]==0){
                  phi[i*prime[j]] = phi[i]*prime[j];
                  break;
            }
            else phi[i*prime[j]] = phi[i]*(prime[j]-1 );
   }
}
Run Code Online (Sandbox Code Playgroud)

c++ sieve-of-eratosthenes

1
推荐指数
1
解决办法
960
查看次数

标签 统计

c++ ×1

javascript ×1

math ×1

primes ×1

sieve-of-eratosthenes ×1