2016-12-06 69 views
5

是否有任何函數允許我檢查x是否可以被任何數字整除?我需要用1:100的整數編寫重複循環,並且使用if函數寫入所有可以被該範圍整除的數字。 這是我走到這一步:如何打印可被7整除的數字

x <- 1 
repeat { 
    print(x) 
    x = x+1 
    if (x > 100) { 
     break 
    } 
} 

它只打印什麼,我需要的第一部分。

回答

13

你不必這麼做。使用模運算符%%和R的矢量化之美。

which(1:100 %% 7 == 0) 
# [1] 7 14 21 28 35 42 49 56 63 70 77 84 91 98 

或者,如果你打高爾夫球的代碼,使它更短......

which(!1:100 %% 7) 
# [1] 7 14 21 28 35 42 49 56 63 70 77 84 91 98 
+1

什麼!在第二塊代碼中做? – Kristofersen

+2

@Kristofersen - 它否定了'1:100 %% 7'的結果,因此任何零成爲TRUE(因爲在邏輯上它們是FALSE),否則就是FALSE –

+0

瘋狂,我從來沒有見過。謝謝。 – Kristofersen