2014-09-25 24 views
0

我試圖找出是否乾淨數除以看到,如果他們分成浮動或int,例如:Python 3中,基於上下文師

10/2 = 5 10/3 = 3.333

問題是,據我所知,您可以使用/並獲得浮動結果或使用//並獲得ONLY int結果。我試圖找出一種方法來看看是否有一些數字是質數。

我的想法是查看1和n-1之間的所有數字是否分爲浮點數,因爲這意味着它們中沒有一個會乾淨地分開。

這是一個測量我的入門課程能力的練習,我意識到可能有一些我可以導入的庫,但是我應該使用處於本人級別的方法來解決此問題,而導入庫不是。

所以我想知道是否有一種方法使用divison來返回答案的真實類型,如果這樣的問題甚至是有道理的。

回答

3

要查看是否有數字「劃分乾淨」,你想用% 操作:

10 % 3 # 1 
11 % 3 # 2 
12 % 3 # 0 

顯然,如果a分歧b「乾淨」,那麼結果是b % a0

模運算符

+0

在這裏,1。將剩餘部分或模量 - 參見:模運算(http://en.wikipedia.org/wiki/Modulo_operation) – jedwards 2014-09-25 20:00:37

+0

哦我看到,我可以爲一個範圍內的所有數字做一個if語句,並且如果它僅爲n/1和n/n返回一個0,那麼這意味着它是一個總數! – Samsara 2014-09-25 20:03:32

+1

@Samsara - 是的。有很多[找到素數的更好方法](http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes),但是即使你真正簡單的算法也可以改進 - 只能檢查'sqrt(n)'。你不需要一路查看'n-1'。 (如果你想了幾分鐘,你也許可以說服你自己)。 – mgilson 2014-09-25 20:07:29