LeetCode C 計數質數

2021-10-08 07:24:58 字數 1436 閱讀 9992

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

示例:

輸入: 10

輸出: 4

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

思路:

強調一下,1既不是質數,也不是合數。

對於2,3這樣的質數,我們將其倍數標記為不是質數。剩下的就都是質數了。

**:

class

solution}}

return count;}}

;

結果:

華為筆試題,題目描述:

功能:輸入乙個正整數,按照從小到大的順序輸出它的所有質因子(重複的也要列舉)(如180的質因子為2 2 3 3 5 )

最後乙個數後面也要有空格

輸入描述:

輸入乙個long型整數

輸出描述:

按照從小到大的順序輸出它的所有質數的因子,以空格隔開。最後乙個數後面也要有空格。

示例1

輸入180

輸出2 2 3 3 5

思路:

先求出所有因子。

對所有因子排序,找出最大因子。

對最大因子求乙個質數表。

對所有因子進行查表,如果是質數,則輸出。

**:

#include

using

namespace std;

intmain()

//求因子

while(1

)}if(n==1)

break;}

//排序

sort

(nums.

begin()

, nums.

end())

;//求質數表,利用題目1、計數質數的方法

int m=nums.

back()

; vector<

int>

dp(m+1,

true);

for(

int i=

2;i<=m;i++)}

}//查表

for(

auto

& e:nums)

return0;

}

結果:[1] grandyang:[leetcode] 204. count primes 質數的個數

LeetCode 計數質數

計數質數 以下直接摘抄 西元前250年,希臘數學家厄拉多塞 eeatosthese 想到了乙個非常美妙的質數篩法,減少了逐一檢查每個數的的步驟,可以比較簡單的從一大堆數字之中,篩選出質數來,這方法被稱作厄拉多塞篩法 sieve of eeatosthese 具體操作 先將 2 n 的各個數放入表中,...

python 計數質數

統計所有小於非負整數 n 的質數的數量。示例 輸入 10輸出 4解釋 小於 10 的質數一共有 4 個,它們是 2,3,5,7 1.看到這道題的時候,第一反應是用遍歷。class solution object def countprimes self,n type n int rtype int ...

46 計數質數

統計所有小於非負整數 n 的質數的數量。示例 輸入 10 輸出 4 解釋 小於 10 的質數一共有 4 個,它們是 2,3,5,7 首先拿到這道題就是一頓秀,發現會超時,即使你會求平方根來進行算也會超時,因此考慮使用 埃拉託斯特尼篩法,簡稱埃氏篩或愛氏篩,是一種由希臘數學家埃拉託斯特尼所提出的一種簡...