求素數個數的優化 LeetCode204

2021-10-09 13:55:02 字數 788 閱讀 2194

計數質數

統計所有小於非負整數 n 的質數的數量。

示例:

輸入: 10

輸出: 4

解釋: 小於 10 的質數一共有 4 個, 它們是 2, 3, 5, 7 。

第一種解法容易想到但是會超時

class

solution

}return counter;

}// 判斷是否是素數

public

boolean

isprime

(int num)

}return

true

;}

第二種用厄拉多塞篩法

實現原理

他造了一張1到50的素數表,首先寫上1到50的所有自然數,然後先劃去1,把2留下,再劃去其他所有2的倍數,把3留下。再劃去其他所有3的倍數,把5留下。又劃去其他所有5的倍數……依此類推,可以得到50以內的所有素數。這就是著名的「厄拉多塞篩法」。

public

static

intcountprimes

(int n)}}

int count =0;

for(

int i =

2; i < n; i++)}

return count;

}

求素數個數

我最近在leetcode上擼了乙個小演算法,雖然已經工作了五年,當看到每次 提交後排名的提公升,內心依然很有成就感。題目比較簡單,求小於n的素數個數,素數也叫質數,具有以下特點 根據上面的特點,我們還可以推斷出 依據這一點,我們可以寫出下面的實現 class solution intcount 1 ...

MPI求素數個數

附上另乙個呼叫函式後針對乙個輸入正確 include stdafx.h include mpi.h include stdio.h include string.h include math.h int isprime int n return flag int main int argc,char...

求素數個數的優化 LeetCode204

計數質數 統計所有小於非負整數 n 的質數的數量。示例 輸入 10 輸出 4 解釋 小於 10 的質數一共有 4 個,它們是 2,3,5,7 第一種解法容易想到但是會超時 class solution return counter 判斷是否是素數 public boolean isprime int...