2016-12-06 66 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

相关问题