天天看點

[LeetCode] Count Primes - 素數系列問題

題目概述:

description:

count the number of prime numbers less than a non-negative number, n.

解題方法:

題意是給出n中所有素數的個數。

首先你需要知道判斷一個數是不是素數的方法:(最笨方法但有效)

最初想法是通過兩層循環依次判斷n個數裡素數個數,但代碼顯然會tle。當n=499979時就time limit exceeded,逾時代碼如下:

[LeetCode] Count Primes - 素數系列問題

它的思想是通過建立一個bool型數組,從2開始計數,其倍數的數字都指派為true,顯然不是素數。最後統計false的個數即為素數個數。

我的代碼:

類似題目:

ugly number

ugly numbers are positive numbers whose prime factors only include 2, 3, 5. for example, 6, 8 are ugly while 14 is not ugly since it includes another prime factor 7.

note that 1 is typically treated as an ugly number.

題意:就是子數由2、3、5組成的數字即為ugly數字,6=2*3、8=2*2*2。

        該方法真的好友技巧啊!隻能說算法真是博大精深,同時最近360的筆試題目也考到了一個數字由兩個素數組成并列印成5*3的圖形題目。是以還是挺重要的知識。

       (by:eastmount 2015-9-21