統計所有小於非負整數 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 首先拿到這道題就是一頓秀,發現會超時,即使你會求平方根來進行算也會超時,因此考慮使用 埃拉託斯特尼篩法,簡稱埃氏篩或愛氏篩,是一種由希臘數學家埃拉託斯特尼所提出的一種簡...